aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/364-0003-brcmfmac-allow-wowlan-support-to-be-per-device.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/364-0003-brcmfmac-allow-wowlan-support-to-be-per-device.patch')
-rw-r--r--package/kernel/mac80211/patches/364-0003-brcmfmac-allow-wowlan-support-to-be-per-device.patch78
1 files changed, 0 insertions, 78 deletions
diff --git a/package/kernel/mac80211/patches/364-0003-brcmfmac-allow-wowlan-support-to-be-per-device.patch b/package/kernel/mac80211/patches/364-0003-brcmfmac-allow-wowlan-support-to-be-per-device.patch
deleted file mode 100644
index 79c9c65c2b..0000000000
--- a/package/kernel/mac80211/patches/364-0003-brcmfmac-allow-wowlan-support-to-be-per-device.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 0b57010fc18e12c19d14379cd739d4eb7c3898f3 Mon Sep 17 00:00:00 2001
-From: Arend Van Spriel <arend.vanspriel@broadcom.com>
-Date: Fri, 27 Jan 2017 12:27:47 +0000
-Subject: [PATCH] brcmfmac: allow wowlan support to be per device
-
-The wowlan support is (partially) determined dynamic by checking the
-device/firmware capabilities. So they can differ per device. So it
-is not possible to use a static global. Instead use the global as a
-template and use kmemdup(). When kmemdup() fails the template is used
-unmodified.
-
-Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
-Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
-Reviewed-by: Franky Lin <franky.lin@broadcom.com>
-Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
----
- .../broadcom/brcm80211/brcmfmac/cfg80211.c | 26 ++++++++++++++++------
- 1 file changed, 19 insertions(+), 7 deletions(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -6337,7 +6337,7 @@ static void brcmf_wiphy_pno_params(struc
- }
-
- #ifdef CONFIG_PM
--static struct wiphy_wowlan_support brcmf_wowlan_support = {
-+static const struct wiphy_wowlan_support brcmf_wowlan_support = {
- .flags = WIPHY_WOWLAN_MAGIC_PKT | WIPHY_WOWLAN_DISCONNECT,
- .n_patterns = BRCMF_WOWL_MAXPATTERNS,
- .pattern_max_len = BRCMF_WOWL_MAXPATTERNSIZE,
-@@ -6350,21 +6350,29 @@ static void brcmf_wiphy_wowl_params(stru
- {
- #ifdef CONFIG_PM
- struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
-+ struct wiphy_wowlan_support *wowl;
-+
-+ wowl = kmemdup(&brcmf_wowlan_support, sizeof(brcmf_wowlan_support),
-+ GFP_KERNEL);
-+ if (!wowl) {
-+ brcmf_err("only support basic wowlan features\n");
-+ wiphy->wowlan = &brcmf_wowlan_support;
-+ return;
-+ }
-
- if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_PNO)) {
- if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_WOWL_ND)) {
-- brcmf_wowlan_support.flags |= WIPHY_WOWLAN_NET_DETECT;
-- brcmf_wowlan_support.max_nd_match_sets =
-- BRCMF_PNO_MAX_PFN_COUNT;
-+ wowl->flags |= WIPHY_WOWLAN_NET_DETECT;
-+ wowl->max_nd_match_sets = BRCMF_PNO_MAX_PFN_COUNT;
- init_waitqueue_head(&cfg->wowl.nd_data_wait);
- }
- }
- if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_WOWL_GTK)) {
-- brcmf_wowlan_support.flags |= WIPHY_WOWLAN_SUPPORTS_GTK_REKEY;
-- brcmf_wowlan_support.flags |= WIPHY_WOWLAN_GTK_REKEY_FAILURE;
-+ wowl->flags |= WIPHY_WOWLAN_SUPPORTS_GTK_REKEY;
-+ wowl->flags |= WIPHY_WOWLAN_GTK_REKEY_FAILURE;
- }
-
-- wiphy->wowlan = &brcmf_wowlan_support;
-+ wiphy->wowlan = wowl;
- #endif
- }
-
-@@ -6745,6 +6753,10 @@ static void brcmf_free_wiphy(struct wiph
- kfree(wiphy->bands[NL80211_BAND_5GHZ]->channels);
- kfree(wiphy->bands[NL80211_BAND_5GHZ]);
- }
-+#if IS_ENABLED(CONFIG_PM)
-+ if (wiphy->wowlan != &brcmf_wowlan_support)
-+ kfree(wiphy->wowlan);
-+#endif
- wiphy_free(wiphy);
- }
-