diff options
| author | Sundar Subramaniyan <subrams@qti.qualcomm.com> | 2013-11-22 16:11:48 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2013-12-03 14:39:40 -0800 |
| commit | 57ca4d2f1a0d792e110ab47d4ee4901757a72f75 (patch) | |
| tree | bdf275e2a53a3a960bec9a537ca8af12dd1b2677 | |
| parent | 6f47fd55595d4ae180ff883704e96e850a6b2382 (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.c | 9 |
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; } |
