summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMohammed Shafi Shajakhan2011-05-24 11:59:52 +0200
committerJohn W. Linville2011-06-01 21:19:03 +0200
commitb942471bfcda207a51379628379aa821216486e7 (patch)
tree073fcab81f3d4e0699d3b901b507546791fac748 /drivers/net
parentrtlwifi: rtl8192se: Synchronize IRQ after disabling it (diff)
downloadkernel-qcow2-linux-b942471bfcda207a51379628379aa821216486e7.tar.gz
kernel-qcow2-linux-b942471bfcda207a51379628379aa821216486e7.tar.xz
kernel-qcow2-linux-b942471bfcda207a51379628379aa821216486e7.zip
ath9k: wake up chip before initializing PAPRD table
In PAPRD table initialization path we do some register read, so make sure the chip is awake during that. Currently PAPRD is disabled. Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 0c545d38f9d3..5cf2dc3c65fc 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -392,12 +392,14 @@ void ath_paprd_calibrate(struct work_struct *work)
if (!caldata)
return;
+ ath9k_ps_wakeup(sc);
+
if (ar9003_paprd_init_table(ah) < 0)
- return;
+ goto fail_paprd;
skb = alloc_skb(len, GFP_KERNEL);
if (!skb)
- return;
+ goto fail_paprd;
skb_put(skb, len);
memset(skb->data, 0, len);
@@ -409,7 +411,6 @@ void ath_paprd_calibrate(struct work_struct *work)
memcpy(hdr->addr2, hw->wiphy->perm_addr, ETH_ALEN);
memcpy(hdr->addr3, hw->wiphy->perm_addr, ETH_ALEN);
- ath9k_ps_wakeup(sc);
for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) {
if (!(common->tx_chainmask & BIT(chain)))
continue;