b43legacy: Do not return TX_BUSY from op_tx
authorMichael Buesch <mb@bu3sch.de>
Sun, 15 Jun 2008 13:27:49 +0000 (15:27 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 25 Jun 2008 14:55:09 +0000 (10:55 -0400)
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.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43legacy/main.c

index 204077c..3e612d0 100644 (file)
@@ -2378,8 +2378,10 @@ static int b43legacy_op_tx(struct ieee80211_hw *hw,
        } 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;
 }