diff options
| author | Paul Zhang <paulz@qti.qualcomm.com> | 2015-11-23 17:37:38 +0800 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-11-24 15:20:03 +0530 |
| commit | 9cc4b210302578e196bfcda6388613f9823ae533 (patch) | |
| tree | 661ac0637bfeb61c65029baebf801383ffa0e537 | |
| parent | ca263a66e2dcec144497f177bd4f05d0e0f68e6f (diff) | |
qcacld: Clear WoW wakeup pattern configuration
Since once one bit was set in wow_wakeup_disable_mask,
the bit won't be cleared any more even it is also set
in wow_wakeup_enable_mask later.
Such as WOW_PATTERN_MATCH_EVENT bit, it causes the fw
dropping the frame instead of waking up the host driver.
To mitigate the issue, clear the conflict bit for
wow_wakeup_enable_mask and wow_wakeup_disable_mask.
Change-Id: Ia5ebd7e7874e07fb3ddcb696611bea565c6bd1b0
CRs-Fixed: 942667
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 1416c8962298..dbc88f39ed46 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -20054,10 +20054,13 @@ static void wma_add_wow_wakeup_event(tp_wma_handle wma, WOW_WAKE_EVENT_TYPE event, v_BOOL_t enable) { - if (enable) + if (enable) { wma->wow_wakeup_enable_mask |= 1 << event; - else + wma->wow_wakeup_disable_mask &= ~(1 << event); + } else { wma->wow_wakeup_disable_mask |= 1 << event; + wma->wow_wakeup_enable_mask &= ~(1 << event); + } WMA_LOGD("%s %s event %s\n", __func__, enable ? "enable" : "disable", |
