mwifiex: report wowlan wakeup reasons correctly
authorAmitkumar Karwar <akarwar@marvell.com>
Thu, 21 Apr 2016 15:07:55 +0000 (08:07 -0700)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 27 Apr 2016 13:51:58 +0000 (16:51 +0300)
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>
drivers/net/wireless/marvell/mwifiex/cfg80211.c

index 369ea06..734cf67 100644 (file)
@@ -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);