diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2012-03-14 09:21:44 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-03-16 02:01:41 -0700 |
commit | b8fbaef586176f6abe0eb7887ddae66e99898b79 (patch) | |
tree | de0789276c35e3cb5d55dc858ce6b76a30918efc /block/cfq.h | |
parent | bb6d5e76fb4fba9aa36726db41404512f3286c0f (diff) | |
download | linux-b8fbaef586176f6abe0eb7887ddae66e99898b79.tar.gz |
wimax/i2400m: fix erroneous NETDEV_TX_BUSY use
A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY, since caller is going to reuse freed skb. In fact netif_tx_stop_queue() / netif_stop_queue() is needed before returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop. In case of memory allocation error, only safe way is to drop the packet and return NETDEV_TX_OK Also increments tx_dropped counter Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'block/cfq.h')
0 files changed, 0 insertions, 0 deletions