summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSundar Subramaniyan <subrams@qti.qualcomm.com>2013-11-29 08:34:16 +0530
committerPrakash Dhavali <pdhavali@qca.qualcomm.com>2013-12-03 14:39:41 -0800
commit0368a8ebfe0e5c3bb1e96199177ae1bcb015324d (patch)
tree5db5fc524dd2dc48b8bdfdfbdea13a8a52cd5358
parent57ca4d2f1a0d792e110ab47d4ee4901757a72f75 (diff)
qcacld-2.0: Wake TX queues before waking up the target when wlan resumes
In WoW mode, when TX queues are woken up after waking up the target, the buffered packets in firmware are received immediately. For certain packets like ping request the response is sometimes sent immediately before TX queues are woken up. This is because the waking up of target happens from process context (PM resume) while the packet is received in interrupt context. The processing of received packet and response takes priority here and by the time the ping response is sent TX queues are still disabled. So the ping responses are dropped. To fix this, wake up the TX queues before sending the wake up WMI command to target. Change-Id: I9f4dc2b1182caaed9c46497e22818e9b31a49a70 CRs-Fixed: 583359
-rw-r--r--CORE/HDD/src/wlan_hdd_early_suspend.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index 6bc5ce211315..e7d028bbbc7f 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -1393,13 +1393,13 @@ void hdd_resume_wlan(void)
}
}
- hdd_conf_resume_ind(pAdapter);
-
#ifdef QCA_WIFI_2_0
//wake the tx queues
netif_tx_wake_all_queues(pAdapter->dev);
#endif
+ hdd_conf_resume_ind(pAdapter);
+
status = hdd_get_next_adapter ( pHddCtx, pAdapterNode, &pNext );
pAdapterNode = pNext;
}