aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
diff options
context:
space:
mode:
authorSujith Manoharan <Sujith.Manoharan@atheros.com>2011-04-13 11:26:11 +0530
committerJohn W. Linville <linville@tuxdriver.com>2011-04-13 15:24:16 -0400
commit84c9e164468bd707e52b440e1c34bc3c85299332 (patch)
tree3abb317396af9864ccbe185f2d204471c50d89db /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
parente1fe7c38d39f8f6ebdffc3a55e2ec6e2ec0d1872 (diff)
downloadkernel_samsung_smdk4412-84c9e164468bd707e52b440e1c34bc3c85299332.tar.gz
kernel_samsung_smdk4412-84c9e164468bd707e52b440e1c34bc3c85299332.tar.bz2
kernel_samsung_smdk4412-84c9e164468bd707e52b440e1c34bc3c85299332.zip
ath9k_htc: Drain packets on station removal
When a station entry is removed, there could still be pending packets destined for that station in the HIF layer. Sending these to the target is not necessary, so drain them in the driver itself. Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_txrx.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_txrx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 9e0c34b0a79..0790070a7f6 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -248,6 +248,14 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv,
tx_hdr.vif_idx = vif_idx;
tx_hdr.cookie = slot;
+ /*
+ * This is a bit redundant but it helps to get
+ * the per-packet index quickly when draining the
+ * TX queue in the HIF layer. Otherwise we would
+ * have to parse the packet contents ...
+ */
+ tx_ctl->sta_idx = sta_idx;
+
if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) {
tx_ctl->type = ATH9K_HTC_AMPDU;
tx_hdr.data_type = ATH9K_HTC_AMPDU;