summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSundar Subramaniyan <subrams@qti.qualcomm.com>2013-11-22 16:11:48 -0800
committerPrakash Dhavali <pdhavali@qca.qualcomm.com>2013-12-03 14:39:40 -0800
commit57ca4d2f1a0d792e110ab47d4ee4901757a72f75 (patch)
treebdf275e2a53a3a960bec9a537ca8af12dd1b2677
parent6f47fd55595d4ae180ff883704e96e850a6b2382 (diff)
qcacld-2.0: Disable TX in cfg80211 suspend and wake in cfg80211 resume
When device is in suspended state, PCIe link will be down and so any target access is not possible. If packet transmission happens before the PCIe link is brought up during resume it would result in L2 errors. So disable TX queues when device goes to suspend. All TX queues have to be woken up when the driver resumes. Change-Id: I2ef0a9119ee6c8474bd07bbe7ef13ff13c954450 CRs-Fixed: 580773
-rw-r--r--CORE/HDD/src/wlan_hdd_early_suspend.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index 8fdee819d434..6bc5ce211315 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -1108,6 +1108,9 @@ void hdd_suspend_wlan(void (*callback)(void *callbackContext),
#ifdef QCA_WIFI_2_0
send_suspend_ind:
+ //stop all TX queues before suspend
+ netif_tx_disable(pAdapter->dev);
+
#endif
/* Keep this suspend indication at the end (before processing next adaptor)
* for discrete. This indication is considered as trigger point to start
@@ -1391,6 +1394,12 @@ 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
+
status = hdd_get_next_adapter ( pHddCtx, pAdapterNode, &pNext );
pAdapterNode = pNext;
}