From 5edfe002e45bb3166bf9fa348756e0a0a0a535fc Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Sun, 15 Jun 2008 15:17:29 +0200 Subject: [PATCH] --- yaml --- r: 98547 b: refs/heads/master c: c9e8eae0935f03e2d03a7ad7af80d8fc6c53e68c h: refs/heads/master i: 98545: 0332373f10df4cd30e208017909484377f9314f5 98543: b49f52a98361d4109624b62fe79c38cafdce4ce9 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/b43/main.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 7db5e6475a48..0a292c4c9fd7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 59d393ad92f719d9ef36b96eae56d4817a7eeb10 +refs/heads/master: c9e8eae0935f03e2d03a7ad7af80d8fc6c53e68c diff --git a/trunk/drivers/net/wireless/b43/main.c b/trunk/drivers/net/wireless/b43/main.c index fa4b0d8b74a2..a70827793086 100644 --- a/trunk/drivers/net/wireless/b43/main.c +++ b/trunk/drivers/net/wireless/b43/main.c @@ -2883,12 +2883,11 @@ static int b43_op_tx(struct ieee80211_hw *hw, if (unlikely(skb->len < 2 + 2 + 6)) { /* Too short, this can't be a valid frame. */ - dev_kfree_skb_any(skb); - return NETDEV_TX_OK; + goto drop_packet; } B43_WARN_ON(skb_shinfo(skb)->nr_frags); if (unlikely(!dev)) - return NETDEV_TX_BUSY; + goto drop_packet; /* Transmissions on seperate queues can run concurrently. */ read_lock_irqsave(&wl->tx_lock, flags); @@ -2904,7 +2903,12 @@ static int b43_op_tx(struct ieee80211_hw *hw, read_unlock_irqrestore(&wl->tx_lock, flags); if (unlikely(err)) - return NETDEV_TX_BUSY; + goto drop_packet; + return NETDEV_TX_OK; + +drop_packet: + /* We can not transmit this packet. Drop it. */ + dev_kfree_skb_any(skb); return NETDEV_TX_OK; }