diff options
author | Sujith Manoharan <Sujith.Manoharan@atheros.com> | 2011-04-13 11:26:11 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-13 15:24:16 -0400 |
commit | 84c9e164468bd707e52b440e1c34bc3c85299332 (patch) | |
tree | 3abb317396af9864ccbe185f2d204471c50d89db /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | |
parent | e1fe7c38d39f8f6ebdffc3a55e2ec6e2ec0d1872 (diff) | |
download | kernel_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.c | 8 |
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; |