summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authornhorman <nhorman@tuxdriver.com>2011-09-14 05:05:02 +0200
committerDavid S. Miller <davem@davemloft.net>2011-09-15 20:49:44 +0200
commit31dda0ae933bb9fea9cfe000b698c41af0417cac (patch)
treecaa4e6bf6a2439bb45716e6b1f2e97b56e06fd00 /net
parentnet: copy userspace buffers on device forwarding (diff)
downloadlinux-31dda0ae933bb9fea9cfe000b698c41af0417cac.tar.xz
linux-31dda0ae933bb9fea9cfe000b698c41af0417cac.zip
net: don't clear IFF_XMIT_DST_RELEASE in ether_setup
d88733150 introduced the IFF_SKB_TX_SHARING flag, which I unilaterally set in ether_setup. In doing this I didn't realize that other flags (such as IFF_XMIT_DST_RELEASE) might be set prior to calling the ether_setup routine. This patch changes ether_setup to or in SKB_TX_SHARING so as not to inadvertently clear other existing flags. Thanks to Pekka Riikonen for pointing out my error Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Reported-by: Pekka Riikonen <priikone@iki.fi> CC: "David S. Miller" <davem@davemloft.net> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ethernet/eth.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index 27997d35ebd3..a2468363978e 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -340,7 +340,7 @@ void ether_setup(struct net_device *dev)
dev->addr_len = ETH_ALEN;
dev->tx_queue_len = 1000; /* Ethernet wants good queues */
dev->flags = IFF_BROADCAST|IFF_MULTICAST;
- dev->priv_flags = IFF_TX_SKB_SHARING;
+ dev->priv_flags |= IFF_TX_SKB_SHARING;
memset(dev->broadcast, 0xFF, ETH_ALEN);