Search Linux Wireless

[PATCH 28/30] rt2x00: Always check if mac80211 requested TX status update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From cbf01c4f3f1810f0ba98238aa7900a523a044e66 Mon Sep 17 00:00:00 2001
From: Ivo van Doorn <IvDoorn@xxxxxxxxx>
Date: Sat, 18 Aug 2007 17:43:23 +0200
Subject: [PATCH 28/30] rt2x00: Always check if mac80211 requested TX status update

During txdone always check for the IEEE80211_TXCTL_REQ_TX_STATUS flag
to determine if ieee80211_tx_status_irqsafe should be called or not.
When the flag is not set, just cleanup the skb and don't bother
mac80211 with it.

Signed-off-by: Ivo van Doorn <IvDoorn@xxxxxxxxx>
---
 drivers/net/wireless/rt2x00/rt2x00dev.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 14968ef..75888ea 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -333,10 +333,14 @@ void rt2x00lib_txdone(struct data_entry *entry,
 	}
 
 	/*
-	 * Send the tx_status to mac80211,
-	 * that method also cleans up the skb structure.
+	 * Check if mac80211 wants to be updated or not,
+	 * if it wants the update it will cleanup the skb structure,
+	 * else then we should cleanup the skb structure.
 	 */
-	ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb, tx_status);
+	if (tx_status->control.flags & IEEE80211_TXCTL_REQ_TX_STATUS)
+		ieee80211_tx_status_irqsafe(rt2x00dev->hw, entry->skb, tx_status);
+	else
+		dev_kfree_skb_any(entry->skb);
 
 	entry->skb = NULL;
 }
-- 
1.5.3.rc5

-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux