mwifiex: report wowlan wakeup reasons correctly
It's been observed that wakeup on GTK rekey failure wasn't reported to cfg80211. This patch corrects the check so that all valid wakeup reasons are reported. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
3f210e2f12
commit
df2288623e
|
@ -3344,6 +3344,7 @@ static int mwifiex_cfg80211_resume(struct wiphy *wiphy)
|
|||
struct mwifiex_ds_wakeup_reason wakeup_reason;
|
||||
struct cfg80211_wowlan_wakeup wakeup_report;
|
||||
int i;
|
||||
bool report_wakeup_reason = true;
|
||||
|
||||
for (i = 0; i < adapter->priv_num; i++) {
|
||||
priv = adapter->priv[i];
|
||||
|
@ -3386,20 +3387,16 @@ static int mwifiex_cfg80211_resume(struct wiphy *wiphy)
|
|||
if (wiphy->wowlan_config->n_patterns)
|
||||
wakeup_report.pattern_idx = 1;
|
||||
break;
|
||||
case CONTROL_FRAME_MATCHED:
|
||||
break;
|
||||
case MANAGEMENT_FRAME_MATCHED:
|
||||
break;
|
||||
case GTK_REKEY_FAILURE:
|
||||
if (wiphy->wowlan_config->gtk_rekey_failure)
|
||||
wakeup_report.gtk_rekey_failure = true;
|
||||
break;
|
||||
default:
|
||||
report_wakeup_reason = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((wakeup_reason.hs_wakeup_reason > 0) &&
|
||||
(wakeup_reason.hs_wakeup_reason <= 7))
|
||||
if (report_wakeup_reason)
|
||||
cfg80211_report_wowlan_wakeup(&priv->wdev, &wakeup_report,
|
||||
GFP_KERNEL);
|
||||
|
||||
|
|
Loading…
Reference in New Issue