diff options
Diffstat (limited to 'package/kernel/mac80211/patches/brcm/331-v5.0-0001-brcmfmac-fix-roamoff-1-modparam.patch')
-rw-r--r-- | package/kernel/mac80211/patches/brcm/331-v5.0-0001-brcmfmac-fix-roamoff-1-modparam.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/package/kernel/mac80211/patches/brcm/331-v5.0-0001-brcmfmac-fix-roamoff-1-modparam.patch b/package/kernel/mac80211/patches/brcm/331-v5.0-0001-brcmfmac-fix-roamoff-1-modparam.patch deleted file mode 100644 index 4ddc903418..0000000000 --- a/package/kernel/mac80211/patches/brcm/331-v5.0-0001-brcmfmac-fix-roamoff-1-modparam.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 8c892df41500469729e0d662816300196e4f463d Mon Sep 17 00:00:00 2001 -From: Stijn Tintel <stijn@linux-ipv6.be> -Date: Tue, 4 Dec 2018 20:29:05 +0200 -Subject: [PATCH] brcmfmac: fix roamoff=1 modparam - -When the update_connect_param callback is set, nl80211 expects the flag -WIPHY_FLAG_SUPPORTS_FW_ROAM to be set as well. However, this flag is -only set when modparam roamoff=0, while the callback is set -unconditionally. Since commit 7f9a3e150ec7 this causes a warning in -wiphy_register, which breaks brcmfmac. - -Disable the update_connect_param callback when roamoff=0 to fix this. - -Fixes: 7f9a3e150ec7 ("nl80211: Update ERP info using NL80211_CMD_UPDATE_CONNECT_PARAMS") -Cc: Stable <stable@vger.kernel.org> # 4.19+ -Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> -Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 11 +++++++++-- - .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.h | 2 +- - .../net/wireless/broadcom/brcm80211/brcmfmac/core.c | 2 +- - 3 files changed, 11 insertions(+), 4 deletions(-) - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -5188,10 +5188,17 @@ static struct cfg80211_ops brcmf_cfg8021 - .del_pmk = brcmf_cfg80211_del_pmk, - }; - --struct cfg80211_ops *brcmf_cfg80211_get_ops(void) -+struct cfg80211_ops *brcmf_cfg80211_get_ops(struct brcmf_mp_device *settings) - { -- return kmemdup(&brcmf_cfg80211_ops, sizeof(brcmf_cfg80211_ops), -+ struct cfg80211_ops *ops; -+ -+ ops = kmemdup(&brcmf_cfg80211_ops, sizeof(brcmf_cfg80211_ops), - GFP_KERNEL); -+ -+ if (ops && settings->roamoff) -+ ops->update_connect_params = NULL; -+ -+ return ops; - } - - struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg, ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h -@@ -404,7 +404,7 @@ struct brcmf_cfg80211_info *brcmf_cfg802 - void brcmf_cfg80211_detach(struct brcmf_cfg80211_info *cfg); - s32 brcmf_cfg80211_up(struct net_device *ndev); - s32 brcmf_cfg80211_down(struct net_device *ndev); --struct cfg80211_ops *brcmf_cfg80211_get_ops(void); -+struct cfg80211_ops *brcmf_cfg80211_get_ops(struct brcmf_mp_device *settings); - enum nl80211_iftype brcmf_cfg80211_get_iftype(struct brcmf_if *ifp); - - struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg, ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c -@@ -1151,7 +1151,7 @@ int brcmf_attach(struct device *dev, str - - brcmf_dbg(TRACE, "Enter\n"); - -- ops = brcmf_cfg80211_get_ops(); -+ ops = brcmf_cfg80211_get_ops(settings); - if (!ops) - return -ENOMEM; - |