summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath9k/wmi.c
diff options
context:
space:
mode:
authorSujith Manoharan <Sujith.Manoharan@atheros.com>2011-04-13 09:56:18 +0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-13 23:24:20 +0400
commit27876a29de221186c9d5883e5fe5f6da18ef9a45 (patch)
treef47eb4d749e7bc49c8248171177c61d9bbe9952f /drivers/net/wireless/ath/ath9k/wmi.c
parent84c9e164468bd707e52b440e1c34bc3c85299332 (diff)
downloadlinux-27876a29de221186c9d5883e5fe5f6da18ef9a45.tar.xz
ath9k_htc: Add support for TX completion
Now that the infrastructure is in place, process WMI TX status events and complete packets. 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/wmi.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/wmi.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/wmi.c b/drivers/net/wireless/ath/ath9k/wmi.c
index e66f6c333028..3f5a4d1fe077 100644
--- a/drivers/net/wireless/ath/ath9k/wmi.c
+++ b/drivers/net/wireless/ath/ath9k/wmi.c
@@ -163,6 +163,16 @@ void ath9k_wmi_event_tasklet(unsigned long data)
wmi->drv_priv->debug.txrate = be32_to_cpu(txrate);
#endif
break;
+ case WMI_TXSTATUS_EVENTID:
+ spin_lock_bh(&priv->tx.tx_lock);
+ if (priv->tx.flags & ATH9K_HTC_OP_TX_DRAIN) {
+ spin_unlock_bh(&priv->tx.tx_lock);
+ break;
+ }
+ spin_unlock_bh(&priv->tx.tx_lock);
+
+ ath9k_htc_txstatus(priv, wmi_event);
+ break;
default:
break;
}