Re: [PATCH] wimax/i2400m: fix erroneous NETDEV_TX_BUSY use

David Miller
2012-03-16T09:02:49Z

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 14 Mar 2012 12:21:44 -0700

> 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>

Applied, but Eric:

> @@ -367,38 +367,28 @@ netdev_tx_t i2400m_hard_start_xmit(struct sk_buff
> *skb,

Your mailer chopped up that line and I had to fix it up.