aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2017-02-02 09:21:13 +0100
committerRafał Miłecki <rafal@milecki.pl>2017-02-06 00:10:48 +0100
commite48b1c2c07101a31ff416be2754df73aabb2a4cb (patch)
tree46d3fb39bad6a9590cbd9db0f859016f7c804841 /package/kernel/mac80211
parente8f42223bef01e08a04f7a1e5c1deeb0d3bf1d01 (diff)
downloadupstream-e48b1c2c07101a31ff416be2754df73aabb2a4cb.tar.gz
upstream-e48b1c2c07101a31ff416be2754df73aabb2a4cb.tar.bz2
upstream-e48b1c2c07101a31ff416be2754df73aabb2a4cb.zip
mac80211: brcmfmac: backport some old patches from 2016
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/kernel/mac80211')
-rw-r--r--package/kernel/mac80211/patches/356-0001-brcmfmac-avoid-maybe-uninitialized-warning-in-brcmf_.patch43
-rw-r--r--package/kernel/mac80211/patches/356-0002-brcmfmac-proto-add-callback-for-queuing-TX-data.patch174
-rw-r--r--package/kernel/mac80211/patches/356-0003-brcmfmac-print-name-of-connect-status-event.patch62
-rw-r--r--package/kernel/mac80211/patches/356-0004-brcmfmac-update-beacon-IE-after-bss-up-and-clear-whe.patch45
-rw-r--r--package/kernel/mac80211/patches/360-0001-brcmfmac-avoid-writing-channel-out-of-allocated-arra.patch6
-rw-r--r--package/kernel/mac80211/patches/360-0003-brcmfmac-setup-wiphy-bands-after-registering-it-firs.patch4
-rw-r--r--package/kernel/mac80211/patches/841-brcmfmac-use-wiphy_read_of_freq_limits.patch4
-rw-r--r--package/kernel/mac80211/patches/860-brcmfmac-register-wiphy-s-during-module_init.patch2
8 files changed, 332 insertions, 8 deletions
diff --git a/package/kernel/mac80211/patches/356-0001-brcmfmac-avoid-maybe-uninitialized-warning-in-brcmf_.patch b/package/kernel/mac80211/patches/356-0001-brcmfmac-avoid-maybe-uninitialized-warning-in-brcmf_.patch
new file mode 100644
index 0000000000..e7ca4be526
--- /dev/null
+++ b/package/kernel/mac80211/patches/356-0001-brcmfmac-avoid-maybe-uninitialized-warning-in-brcmf_.patch
@@ -0,0 +1,43 @@
+From d3532ea6ce4ea501e421d130555e59edc2945f99 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Tue, 18 Oct 2016 00:13:40 +0200
+Subject: [PATCH] brcmfmac: avoid maybe-uninitialized warning in
+ brcmf_cfg80211_start_ap
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+A bugfix added a sanity check around the assignment and use of the
+'is_11d' variable, which looks correct to me, but as the function is
+rather complex already, this confuses the compiler to the point where
+it can no longer figure out if the variable is always initialized
+correctly:
+
+brcm80211/brcmfmac/cfg80211.c: In function ‘brcmf_cfg80211_start_ap’:
+brcm80211/brcmfmac/cfg80211.c:4586:10: error: ‘is_11d’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
+
+This adds an initialization for the newly introduced case in which
+the variable should not really be used, in order to make the warning
+go away.
+
+Fixes: b3589dfe0212 ("brcmfmac: ignore 11d configuration errors")
+Cc: Hante Meuleman <hante.meuleman@broadcom.com>
+Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
+Cc: Kalle Valo <kvalo@codeaurora.org>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+@@ -4516,7 +4516,7 @@ brcmf_cfg80211_start_ap(struct wiphy *wi
+ /* store current 11d setting */
+ if (brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_REGULATORY,
+ &ifp->vif->is_11d)) {
+- supports_11d = false;
++ is_11d = supports_11d = false;
+ } else {
+ country_ie = brcmf_parse_tlvs((u8 *)settings->beacon.tail,
+ settings->beacon.tail_len,
diff --git a/package/kernel/mac80211/patches/356-0002-brcmfmac-proto-add-callback-for-queuing-TX-data.patch b/package/kernel/mac80211/patches/356-0002-brcmfmac-proto-add-callback-for-queuing-TX-data.patch
new file mode 100644
index 0000000000..1662eb5dbb
--- /dev/null
+++ b/package/kernel/mac80211/patches/356-0002-brcmfmac-proto-add-callback-for-queuing-TX-data.patch
@@ -0,0 +1,174 @@
+From b073ac1fcf42376018f6db6acc885dfd2cc9ff02 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 26 Sep 2016 23:51:44 +0200
+Subject: [PATCH] brcmfmac: proto: add callback for queuing TX data
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+So far our core code was calling brcmf_fws_process_skb which wasn't
+a proper thing to do. If case of devices using msgbuf protocol fwsignal
+shouldn't be used. It was an unnecessary extra layer simply calling
+a protocol specifix txdata function.
+
+Please note we already have txdata callback, but it's used for calls
+between bcdc and fwsignal so it couldn't be simply used there.
+
+This makes core code more generic (instead of bcdc/fwsignal specific).
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c | 12 ++++++++++++
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 8 +++++++-
+ .../net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c | 15 +++++----------
+ .../net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h | 1 +
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 6 +++---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c | 2 +-
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h | 9 +++++++++
+ 7 files changed, 38 insertions(+), 15 deletions(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
+@@ -326,6 +326,17 @@ brcmf_proto_bcdc_hdrpull(struct brcmf_pu
+ return 0;
+ }
+
++static int brcmf_proto_bcdc_tx_queue_data(struct brcmf_pub *drvr, int ifidx,
++ struct sk_buff *skb)
++{
++ struct brcmf_if *ifp = brcmf_get_ifp(drvr, ifidx);
++
++ if (!brcmf_fws_queue_skbs(drvr->fws))
++ return brcmf_proto_txdata(drvr, ifidx, 0, skb);
++
++ return brcmf_fws_process_skb(ifp, skb);
++}
++
+ static int
+ brcmf_proto_bcdc_txdata(struct brcmf_pub *drvr, int ifidx, u8 offset,
+ struct sk_buff *pktbuf)
+@@ -375,6 +386,7 @@ int brcmf_proto_bcdc_attach(struct brcmf
+ drvr->proto->hdrpull = brcmf_proto_bcdc_hdrpull;
+ drvr->proto->query_dcmd = brcmf_proto_bcdc_query_dcmd;
+ drvr->proto->set_dcmd = brcmf_proto_bcdc_set_dcmd;
++ drvr->proto->tx_queue_data = brcmf_proto_bcdc_tx_queue_data;
+ drvr->proto->txdata = brcmf_proto_bcdc_txdata;
+ drvr->proto->configure_addr_mode = brcmf_proto_bcdc_configure_addr_mode;
+ drvr->proto->delete_peer = brcmf_proto_bcdc_delete_peer;
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+@@ -239,7 +239,13 @@ static netdev_tx_t brcmf_netdev_start_xm
+ if (eh->h_proto == htons(ETH_P_PAE))
+ atomic_inc(&ifp->pend_8021x_cnt);
+
+- ret = brcmf_fws_process_skb(ifp, skb);
++ /* determine the priority */
++ if ((skb->priority == 0) || (skb->priority > 7))
++ skb->priority = cfg80211_classify8021d(skb, NULL);
++
++ ret = brcmf_proto_tx_queue_data(drvr, ifp->ifidx, skb);
++ if (ret < 0)
++ brcmf_txfinalize(ifp, skb, false);
+
+ done:
+ if (ret) {
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
+@@ -2100,16 +2100,6 @@ int brcmf_fws_process_skb(struct brcmf_i
+ int rc = 0;
+
+ brcmf_dbg(DATA, "tx proto=0x%X\n", ntohs(eh->h_proto));
+- /* determine the priority */
+- if ((skb->priority == 0) || (skb->priority > 7))
+- skb->priority = cfg80211_classify8021d(skb, NULL);
+-
+- if (fws->avoid_queueing) {
+- rc = brcmf_proto_txdata(drvr, ifp->ifidx, 0, skb);
+- if (rc < 0)
+- brcmf_txfinalize(ifp, skb, false);
+- return rc;
+- }
+
+ /* set control buffer information */
+ skcb->if_flags = 0;
+@@ -2442,6 +2432,11 @@ void brcmf_fws_deinit(struct brcmf_pub *
+ kfree(fws);
+ }
+
++bool brcmf_fws_queue_skbs(struct brcmf_fws_info *fws)
++{
++ return !fws->avoid_queueing;
++}
++
+ bool brcmf_fws_fc_active(struct brcmf_fws_info *fws)
+ {
+ if (!fws->creditmap_received)
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h
+@@ -20,6 +20,7 @@
+
+ int brcmf_fws_init(struct brcmf_pub *drvr);
+ void brcmf_fws_deinit(struct brcmf_pub *drvr);
++bool brcmf_fws_queue_skbs(struct brcmf_fws_info *fws);
+ bool brcmf_fws_fc_active(struct brcmf_fws_info *fws);
+ void brcmf_fws_hdrpull(struct brcmf_if *ifp, s16 siglen, struct sk_buff *skb);
+ int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb);
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
+@@ -782,8 +782,8 @@ static int brcmf_msgbuf_schedule_txdata(
+ }
+
+
+-static int brcmf_msgbuf_txdata(struct brcmf_pub *drvr, int ifidx,
+- u8 offset, struct sk_buff *skb)
++static int brcmf_msgbuf_tx_queue_data(struct brcmf_pub *drvr, int ifidx,
++ struct sk_buff *skb)
+ {
+ struct brcmf_msgbuf *msgbuf = (struct brcmf_msgbuf *)drvr->proto->pd;
+ struct brcmf_flowring *flow = msgbuf->flow;
+@@ -1467,7 +1467,7 @@ int brcmf_proto_msgbuf_attach(struct brc
+ drvr->proto->hdrpull = brcmf_msgbuf_hdrpull;
+ drvr->proto->query_dcmd = brcmf_msgbuf_query_dcmd;
+ drvr->proto->set_dcmd = brcmf_msgbuf_set_dcmd;
+- drvr->proto->txdata = brcmf_msgbuf_txdata;
++ drvr->proto->tx_queue_data = brcmf_msgbuf_tx_queue_data;
+ drvr->proto->configure_addr_mode = brcmf_msgbuf_configure_addr_mode;
+ drvr->proto->delete_peer = brcmf_msgbuf_delete_peer;
+ drvr->proto->add_tdls_peer = brcmf_msgbuf_add_tdls_peer;
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
+@@ -51,7 +51,7 @@ int brcmf_proto_attach(struct brcmf_pub
+ drvr->bus_if->proto_type);
+ goto fail;
+ }
+- if ((proto->txdata == NULL) || (proto->hdrpull == NULL) ||
++ if (!proto->tx_queue_data || (proto->hdrpull == NULL) ||
+ (proto->query_dcmd == NULL) || (proto->set_dcmd == NULL) ||
+ (proto->configure_addr_mode == NULL) ||
+ (proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL)) {
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h
+@@ -33,6 +33,8 @@ struct brcmf_proto {
+ void *buf, uint len);
+ int (*set_dcmd)(struct brcmf_pub *drvr, int ifidx, uint cmd, void *buf,
+ uint len);
++ int (*tx_queue_data)(struct brcmf_pub *drvr, int ifidx,
++ struct sk_buff *skb);
+ int (*txdata)(struct brcmf_pub *drvr, int ifidx, u8 offset,
+ struct sk_buff *skb);
+ void (*configure_addr_mode)(struct brcmf_pub *drvr, int ifidx,
+@@ -74,6 +76,13 @@ static inline int brcmf_proto_set_dcmd(s
+ {
+ return drvr->proto->set_dcmd(drvr, ifidx, cmd, buf, len);
+ }
++
++static inline int brcmf_proto_tx_queue_data(struct brcmf_pub *drvr, int ifidx,
++ struct sk_buff *skb)
++{
++ return drvr->proto->tx_queue_data(drvr, ifidx, skb);
++}
++
+ static inline int brcmf_proto_txdata(struct brcmf_pub *drvr, int ifidx,
+ u8 offset, struct sk_buff *skb)
+ {
diff --git a/package/kernel/mac80211/patches/356-0003-brcmfmac-print-name-of-connect-status-event.patch b/package/kernel/mac80211/patches/356-0003-brcmfmac-print-name-of-connect-status-event.patch
new file mode 100644
index 0000000000..1b2587ba51
--- /dev/null
+++ b/package/kernel/mac80211/patches/356-0003-brcmfmac-print-name-of-connect-status-event.patch
@@ -0,0 +1,62 @@
+From e1c122d55f9ec5608ca98a9a846fd39cdf3ed7d7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 14 Oct 2016 09:45:59 +0200
+Subject: [PATCH] brcmfmac: print name of connect status event
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This simplifies debugging. Format %s (%u) comes from similar debugging
+message in brcmf_fweh_event_worker.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 ++-
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c | 4 ++--
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h | 2 ++
+ 3 files changed, 6 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+@@ -5506,7 +5506,8 @@ brcmf_notify_connect_status_ap(struct br
+ u32 reason = e->reason;
+ struct station_info sinfo;
+
+- brcmf_dbg(CONN, "event %d, reason %d\n", event, reason);
++ brcmf_dbg(CONN, "event %s (%u), reason %d\n",
++ brcmf_fweh_event_name(event), event, reason);
+ if (event == BRCMF_E_LINK && reason == BRCMF_E_REASON_LINK_BSSCFG_DIS &&
+ ndev != cfg_to_ndev(cfg)) {
+ brcmf_dbg(CONN, "AP mode link down\n");
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
+@@ -69,7 +69,7 @@ static struct brcmf_fweh_event_name fweh
+ *
+ * @code: code to lookup.
+ */
+-static const char *brcmf_fweh_event_name(enum brcmf_fweh_event_code code)
++const char *brcmf_fweh_event_name(enum brcmf_fweh_event_code code)
+ {
+ int i;
+ for (i = 0; i < ARRAY_SIZE(fweh_event_names); i++) {
+@@ -79,7 +79,7 @@ static const char *brcmf_fweh_event_name
+ return "unknown";
+ }
+ #else
+-static const char *brcmf_fweh_event_name(enum brcmf_fweh_event_code code)
++const char *brcmf_fweh_event_name(enum brcmf_fweh_event_code code)
+ {
+ return "nodebug";
+ }
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
+@@ -287,6 +287,8 @@ struct brcmf_fweh_info {
+ void *data);
+ };
+
++const char *brcmf_fweh_event_name(enum brcmf_fweh_event_code code);
++
+ void brcmf_fweh_attach(struct brcmf_pub *drvr);
+ void brcmf_fweh_detach(struct brcmf_pub *drvr);
+ int brcmf_fweh_register(struct brcmf_pub *drvr, enum brcmf_fweh_event_code code,
diff --git a/package/kernel/mac80211/patches/356-0004-brcmfmac-update-beacon-IE-after-bss-up-and-clear-whe.patch b/package/kernel/mac80211/patches/356-0004-brcmfmac-update-beacon-IE-after-bss-up-and-clear-whe.patch
new file mode 100644
index 0000000000..01024f1efb
--- /dev/null
+++ b/package/kernel/mac80211/patches/356-0004-brcmfmac-update-beacon-IE-after-bss-up-and-clear-whe.patch
@@ -0,0 +1,45 @@
+From f25ba69c638b24097840a96bd3caf5599f9a3616 Mon Sep 17 00:00:00 2001
+From: Wright Feng <wefe@cypress.com>
+Date: Fri, 18 Nov 2016 09:59:52 +0800
+Subject: [PATCH] brcmfmac: update beacon IE after bss up and clear when AP
+ stopped
+
+Firmware doesn't update beacon/Probe Response vendor IEs correctly when
+bss is down, so we move brcmf_config_ap_mgmt_ie after BSS up. And host
+driver should clear IEs when AP stopped so that the IEs in host side will
+be synced with in firmware side.
+
+Signed-off-by: Wright Feng <wright.feng@cypress.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+@@ -4578,8 +4578,6 @@ brcmf_cfg80211_start_ap(struct wiphy *wi
+ brcmf_configure_opensecurity(ifp);
+ }
+
+- brcmf_config_ap_mgmt_ie(ifp->vif, &settings->beacon);
+-
+ /* Parameters shared by all radio interfaces */
+ if (!mbss) {
+ if ((supports_11d) && (is_11d != ifp->vif->is_11d)) {
+@@ -4708,6 +4706,7 @@ brcmf_cfg80211_start_ap(struct wiphy *wi
+ WARN_ON(1);
+ }
+
++ brcmf_config_ap_mgmt_ie(ifp->vif, &settings->beacon);
+ set_bit(BRCMF_VIF_STATUS_AP_CREATED, &ifp->vif->sme_state);
+ brcmf_net_setcarrier(ifp, true);
+
+@@ -4764,6 +4763,8 @@ static int brcmf_cfg80211_stop_ap(struct
+ err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_UP, 1);
+ if (err < 0)
+ brcmf_err("BRCMF_C_UP error %d\n", err);
++
++ brcmf_vif_clear_mgmt_ies(ifp->vif);
+ } else {
+ bss_enable.bsscfgidx = cpu_to_le32(ifp->bsscfgidx);
+ bss_enable.enable = cpu_to_le32(0);
diff --git a/package/kernel/mac80211/patches/360-0001-brcmfmac-avoid-writing-channel-out-of-allocated-arra.patch b/package/kernel/mac80211/patches/360-0001-brcmfmac-avoid-writing-channel-out-of-allocated-arra.patch
index 710979a738..58af4d9078 100644
--- a/package/kernel/mac80211/patches/360-0001-brcmfmac-avoid-writing-channel-out-of-allocated-arra.patch
+++ b/package/kernel/mac80211/patches/360-0001-brcmfmac-avoid-writing-channel-out-of-allocated-arra.patch
@@ -28,7 +28,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -5913,7 +5913,6 @@ static int brcmf_construct_chaninfo(stru
+@@ -5915,7 +5915,6 @@ static int brcmf_construct_chaninfo(stru
u32 i, j;
u32 total;
u32 chaninfo;
@@ -36,7 +36,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
pbuf = kzalloc(BRCMF_DCMD_MEDLEN, GFP_KERNEL);
-@@ -5961,33 +5960,36 @@ static int brcmf_construct_chaninfo(stru
+@@ -5963,33 +5962,36 @@ static int brcmf_construct_chaninfo(stru
ch.bw == BRCMU_CHAN_BW_80)
continue;
@@ -85,7 +85,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
ch.bw = BRCMU_CHAN_BW_20;
cfg->d11inf.encchspec(&ch);
chaninfo = ch.chspec;
-@@ -5995,11 +5997,11 @@ static int brcmf_construct_chaninfo(stru
+@@ -5997,11 +5999,11 @@ static int brcmf_construct_chaninfo(stru
&chaninfo);
if (!err) {
if (chaninfo & WL_CHAN_RADAR)
diff --git a/package/kernel/mac80211/patches/360-0003-brcmfmac-setup-wiphy-bands-after-registering-it-firs.patch b/package/kernel/mac80211/patches/360-0003-brcmfmac-setup-wiphy-bands-after-registering-it-firs.patch
index d7aa7e9558..9c773bd16f 100644
--- a/package/kernel/mac80211/patches/360-0003-brcmfmac-setup-wiphy-bands-after-registering-it-firs.patch
+++ b/package/kernel/mac80211/patches/360-0003-brcmfmac-setup-wiphy-bands-after-registering-it-firs.patch
@@ -25,7 +25,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -6564,8 +6564,7 @@ static int brcmf_setup_wiphy(struct wiph
+@@ -6566,8 +6566,7 @@ static int brcmf_setup_wiphy(struct wiph
wiphy->bands[NL80211_BAND_5GHZ] = band;
}
}
@@ -35,7 +35,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
}
static s32 brcmf_config_dongle(struct brcmf_cfg80211_info *cfg)
-@@ -6930,6 +6929,12 @@ struct brcmf_cfg80211_info *brcmf_cfg802
+@@ -6932,6 +6931,12 @@ struct brcmf_cfg80211_info *brcmf_cfg802
goto priv_out;
}
diff --git a/package/kernel/mac80211/patches/841-brcmfmac-use-wiphy_read_of_freq_limits.patch b/package/kernel/mac80211/patches/841-brcmfmac-use-wiphy_read_of_freq_limits.patch
index af6e1be311..9f26a49640 100644
--- a/package/kernel/mac80211/patches/841-brcmfmac-use-wiphy_read_of_freq_limits.patch
+++ b/package/kernel/mac80211/patches/841-brcmfmac-use-wiphy_read_of_freq_limits.patch
@@ -9,7 +9,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -5974,6 +5974,9 @@ static int brcmf_construct_chaninfo(stru
+@@ -5976,6 +5976,9 @@ static int brcmf_construct_chaninfo(stru
continue;
}
@@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
/* assuming the chanspecs order is HT20,
* HT40 upper, HT40 lower, and VHT80.
*/
-@@ -6564,6 +6567,9 @@ static int brcmf_setup_wiphy(struct wiph
+@@ -6566,6 +6569,9 @@ static int brcmf_setup_wiphy(struct wiph
wiphy->bands[NL80211_BAND_5GHZ] = band;
}
}
diff --git a/package/kernel/mac80211/patches/860-brcmfmac-register-wiphy-s-during-module_init.patch b/package/kernel/mac80211/patches/860-brcmfmac-register-wiphy-s-during-module_init.patch
index f7f44f513f..d423cf5b56 100644
--- a/package/kernel/mac80211/patches/860-brcmfmac-register-wiphy-s-during-module_init.patch
+++ b/package/kernel/mac80211/patches/860-brcmfmac-register-wiphy-s-during-module_init.patch
@@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-@@ -1200,6 +1200,7 @@ int __init brcmf_core_init(void)
+@@ -1206,6 +1206,7 @@ int __init brcmf_core_init(void)
{
if (!schedule_work(&brcmf_driver_work))
return -EBUSY;