diff options
author | nhorman <nhorman@tuxdriver.com> | 2011-09-14 05:05:02 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-09-15 20:49:44 +0200 |
commit | 31dda0ae933bb9fea9cfe000b698c41af0417cac (patch) | |
tree | caa4e6bf6a2439bb45716e6b1f2e97b56e06fd00 /net/ethernet | |
parent | net: copy userspace buffers on device forwarding (diff) | |
download | linux-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/ethernet')
-rw-r--r-- | net/ethernet/eth.c | 2 |
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); |