aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
diff options
context:
space:
mode:
authorVivek Natarajan <vnatarajan@atheros.com>2010-04-05 14:48:05 +0530
committerJohn W. Linville <linville@tuxdriver.com>2010-04-07 14:37:58 -0400
commitbde748a40d4d5a9915def6772e208848c105e616 (patch)
tree25881e7578788a0ff2d5e76d92ce8450a1498747 /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
parent53bc7aa08b48e5cd745f986731cc7dc24eef2a9f (diff)
downloadkernel_samsung_smdk4412-bde748a40d4d5a9915def6772e208848c105e616.zip
kernel_samsung_smdk4412-bde748a40d4d5a9915def6772e208848c105e616.tar.gz
kernel_samsung_smdk4412-bde748a40d4d5a9915def6772e208848c105e616.tar.bz2
ath9k_htc: Add support for power save.
Signed-off-by: Vivek Natarajan <vnatarajan@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.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index f1e3d83..0a7cb30 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -553,7 +553,7 @@ void ath9k_rx_tasklet(unsigned long data)
struct ieee80211_rx_status rx_status;
struct sk_buff *skb;
unsigned long flags;
-
+ struct ieee80211_hdr *hdr;
do {
spin_lock_irqsave(&priv->rx.rxbuflock, flags);
@@ -580,6 +580,11 @@ void ath9k_rx_tasklet(unsigned long data)
memcpy(IEEE80211_SKB_RXCB(rxbuf->skb), &rx_status,
sizeof(struct ieee80211_rx_status));
skb = rxbuf->skb;
+ hdr = (struct ieee80211_hdr *) skb->data;
+
+ if (ieee80211_is_beacon(hdr->frame_control) && priv->ps_enabled)
+ ieee80211_queue_work(priv->hw, &priv->ps_work);
+
spin_unlock_irqrestore(&priv->rx.rxbuflock, flags);
ieee80211_rx(priv->hw, skb);