aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/338-v5.0-0006-brcmfmac-Fix-access-point-mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/338-v5.0-0006-brcmfmac-Fix-access-point-mode.patch')
-rw-r--r--package/kernel/mac80211/patches/338-v5.0-0006-brcmfmac-Fix-access-point-mode.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/338-v5.0-0006-brcmfmac-Fix-access-point-mode.patch b/package/kernel/mac80211/patches/338-v5.0-0006-brcmfmac-Fix-access-point-mode.patch
new file mode 100644
index 0000000000..8732ce4e01
--- /dev/null
+++ b/package/kernel/mac80211/patches/338-v5.0-0006-brcmfmac-Fix-access-point-mode.patch
@@ -0,0 +1,41 @@
+From 861cb5eb467f5e38dce1aabe4e8db379255bd89b Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Wed, 12 Dec 2018 20:20:06 +0100
+Subject: [PATCH] brcmfmac: Fix access point mode
+
+Since commit 1204aa17f3b4 ("brcmfmac: set WIPHY_FLAG_HAVE_AP_SME flag")
+the Raspberry Pi 3 A+ (BCM43455) isn't able to operate in AP mode with
+hostapd (device_ap_sme=1 use_monitor=0):
+
+brcmfmac: brcmf_cfg80211_stop_ap: setting AP mode failed -52
+
+So add the missing mgmt_stypes for AP mode to fix this.
+
+Fixes: 1204aa17f3b4 ("brcmfmac: set WIPHY_FLAG_HAVE_AP_SME flag")
+Suggested-by: Arend van Spriel <arend.vanspriel@broadcom.com>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ .../wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+@@ -6271,6 +6271,16 @@ brcmf_txrx_stypes[NUM_NL80211_IFTYPES] =
+ .tx = 0xffff,
+ .rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
+ BIT(IEEE80211_STYPE_PROBE_REQ >> 4)
++ },
++ [NL80211_IFTYPE_AP] = {
++ .tx = 0xffff,
++ .rx = BIT(IEEE80211_STYPE_ASSOC_REQ >> 4) |
++ BIT(IEEE80211_STYPE_REASSOC_REQ >> 4) |
++ BIT(IEEE80211_STYPE_PROBE_REQ >> 4) |
++ BIT(IEEE80211_STYPE_DISASSOC >> 4) |
++ BIT(IEEE80211_STYPE_AUTH >> 4) |
++ BIT(IEEE80211_STYPE_DEAUTH >> 4) |
++ BIT(IEEE80211_STYPE_ACTION >> 4)
+ }
+ };
+