diff options
| author | Leo Chang <schang@qca.qualcomm.com> | 2014-03-03 19:49:28 -0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-03-10 16:07:57 -0700 |
| commit | 990c4d72fa3a210e9d6d2dc16ec039d676d5e010 (patch) | |
| tree | 893c676a8fd600ba0b539242e00a133394db23a6 | |
| parent | cd4e99cb44909c6d5223d544f6d90eea5f7ca76b (diff) | |
wlan: Unpause all vdev when system resume
When system in SUSPEND state, FW could not send PAUSE/UNPAUSE
event to host. Then host might lost VDEV PAUSE/UNPAUSE state.
This may end up with VDEV data stall.
To prevent data stall due to system SUSPEND/RESUME,
when system RESUME, by default UNPAUSE all VDEV Q.
Change-Id: Ide552078828472d4c3127914094581f492fc128c
CRs-fixed: 625754
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 6ae193a1bc4c..481072cddf49 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -12788,6 +12788,14 @@ static VOS_STATUS wma_resume_req(tp_wma_handle wma, tpSirWlanResumeParam info) if (!wma->interfaces[vdev_id].handle) continue; +#ifdef QCA_SUPPORT_TXRX_VDEV_PAUSE_LL + /* When host resume, by default, unpause all active vdev */ + if (wma->interfaces[vdev_id].pause_bitmap) { + wdi_in_vdev_unpause(wma->interfaces[vdev_id].handle); + wma->interfaces[vdev_id].pause_bitmap = 0; + } +#endif /* QCA_SUPPORT_TXRX_VDEV_PAUSE_LL */ + iface = &wma->interfaces[vdev_id]; iface->conn_state = FALSE; } |
