b43legacy: Do not return TX_BUSY from op_tx
PATCH 1/1 b43legacy: Do not return TX_BUSY from op_tx
Never return TX_BUSY from op_tx. It doesn't make sense to return TX_BUSY, if we can not transmit the packet.
Drop the packet and return TX_OK.
Upstream commit iseb803e419ca6be06ece2e42027bb4ebd8ec09f91
Signed-off-by Michael Buesch <[email protected]>
drivers/net/wireless/b43legacy/main.c +4 -2
@@ -2347,14 +2347,16 @@ static int b43legacy_op_tx(struct ieee80spin_lock_irqsave (&wl->irq_lock, flags); err =b43legacy_pio_tx (dev, skb, ctl);spin_unlock_irqrestore (&wl->irq_lock, flags); }else err =b43legacy_dma_tx (dev, skb, ctl); out: -if (unlikely (err)) -return NETDEV_TX_BUSY ; +if (unlikely (err)) { +/* Drop the packet. */ +dev_kfree_skb_any (skb); + }return NETDEV_TX_OK ; }static int b43legacy_op_conf_tx (struct ieee80211_hw *hw,int queue,const struct ieee80211_tx_queue_params *params)