aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/brcm
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2018-12-06 23:39:52 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2018-12-13 21:33:31 +0100
commitac5a6acbb1aa16746644447b6a2630a3a8b20073 (patch)
tree691c3b2c3cdd9c4080825e57bef9c17fd812d60d /package/kernel/mac80211/patches/brcm
parent816ae87709c01215319347a078f0668661c3f2dc (diff)
downloadupstream-ac5a6acbb1aa16746644447b6a2630a3a8b20073.tar.gz
upstream-ac5a6acbb1aa16746644447b6a2630a3a8b20073.tar.bz2
upstream-ac5a6acbb1aa16746644447b6a2630a3a8b20073.zip
mac80211: Update to version 4.19.7-1
This updates the backports package used in mac80211 to version 4.19.7-1 which is based on kernel 4.19.7. This integrates all the stable fixes introduces in this kernel version. The deleted patches are not needed any more because they are either included in the upstream Linux kernel 4.19.7 or in backports 4.19.7-1. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/brcm')
-rw-r--r--package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch15
-rw-r--r--package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch117
-rw-r--r--package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch17
3 files changed, 12 insertions, 137 deletions
diff --git a/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch b/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
index a3053616c1..114a3b3fe4 100644
--- a/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
+++ b/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
@@ -21,11 +21,9 @@ Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
.../net/wireless/broadcom/brcm80211/brcmfmac/core.c | 2 +-
3 files changed, 11 insertions(+), 4 deletions(-)
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-index 7f0a5bade70a..c0e3ae7bf2ae 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -5196,10 +5196,17 @@ static struct cfg80211_ops brcmf_cfg80211_ops = {
+@@ -5188,10 +5188,17 @@ static struct cfg80211_ops brcmf_cfg8021
.del_pmk = brcmf_cfg80211_del_pmk,
};
@@ -45,11 +43,9 @@ index 7f0a5bade70a..c0e3ae7bf2ae 100644
}
struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
-index a4aec0004e4f..9a6287f084a9 100644
--- 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_cfg80211_attach(struct brcmf_pub *drvr,
+@@ -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);
@@ -58,11 +54,9 @@ index a4aec0004e4f..9a6287f084a9 100644
enum nl80211_iftype brcmf_cfg80211_get_iftype(struct brcmf_if *ifp);
struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-index b1f702faff4f..860a4372cb56 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-@@ -1130,7 +1130,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
+@@ -1151,7 +1151,7 @@ int brcmf_attach(struct device *dev, str
brcmf_dbg(TRACE, "Enter\n");
@@ -71,6 +65,3 @@ index b1f702faff4f..860a4372cb56 100644
if (!ops)
return -ENOMEM;
---
-2.18.1
-
diff --git a/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch b/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
deleted file mode 100644
index 6e96578990..0000000000
--- a/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From: Arend van Spriel <arend.vanspriel@broadcom.com>
-Date: Wed, 5 Sep 2018 09:48:58 +0200
-Subject: [PATCH] brcmfmac: fix for proper support of 160MHz bandwidth
-
-Decoding of firmware channel information was not complete for 160MHz
-support. This resulted in the following warning:
-
- WARNING: CPU: 2 PID: 2222 at .../broadcom/brcm80211/brcmutil/d11.c:196
- brcmu_d11ac_decchspec+0x2e/0x100 [brcmutil]
- Modules linked in: brcmfmac(O) brcmutil(O) sha256_generic cfg80211 ...
- CPU: 2 PID: 2222 Comm: kworker/2:0 Tainted: G O
- 4.17.0-wt-testing-x64-00002-gf1bed50 #1
- Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011
- Workqueue: events request_firmware_work_func
- RIP: 0010:brcmu_d11ac_decchspec+0x2e/0x100 [brcmutil]
- RSP: 0018:ffffc90000047bd0 EFLAGS: 00010206
- RAX: 000000000000e832 RBX: ffff8801146fe910 RCX: ffff8801146fd3c0
- RDX: 0000000000002800 RSI: 0000000000000070 RDI: ffffc90000047c30
- RBP: ffffc90000047bd0 R08: 0000000000000000 R09: ffffffffa0798c80
- R10: ffff88012bca55e0 R11: ffff880110a4ea00 R12: ffff8801146f8000
- R13: ffffc90000047c30 R14: ffff8801146fe930 R15: ffff8801138e02e0
- FS: 0000000000000000(0000) GS:ffff88012bc80000(0000) knlGS:0000000000000000
- CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
- CR2: 00007f18ce8b8070 CR3: 000000000200a003 CR4: 00000000000206e0
- Call Trace:
- brcmf_setup_wiphybands+0x212/0x780 [brcmfmac]
- brcmf_cfg80211_attach+0xae2/0x11a0 [brcmfmac]
- brcmf_attach+0x1fc/0x4b0 [brcmfmac]
- ? __kmalloc+0x13c/0x1c0
- brcmf_pcie_setup+0x99b/0xe00 [brcmfmac]
- brcmf_fw_request_done+0x16a/0x1f0 [brcmfmac]
- request_firmware_work_func+0x36/0x60
- process_one_work+0x146/0x350
- worker_thread+0x4a/0x3b0
- kthread+0x102/0x140
- ? process_one_work+0x350/0x350
- ? kthread_bind+0x20/0x20
- ret_from_fork+0x35/0x40
- Code: 66 90 0f b7 07 55 48 89 e5 89 c2 88 47 02 88 47 03 66 81 e2 00 38
- 66 81 fa 00 18 74 6e 66 81 fa 00 20 74 39 66 81 fa 00 10 74 14 <0f>
- 0b 66 25 00 c0 74 20 66 3d 00 c0 75 20 c6 47 04 01 5d c3 66
- ---[ end trace 550c46682415b26d ]---
- brcmfmac: brcmf_construct_chaninfo: Ignoring unexpected firmware channel 50
-
-This patch adds the missing stuff to properly handle this.
-
-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>
----
- .../net/wireless/broadcom/brcm80211/brcmutil/d11.c | 34 +++++++++++++++++++++-
- .../broadcom/brcm80211/include/brcmu_wifi.h | 2 ++
- 2 files changed, 35 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmutil/d11.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmutil/d11.c
-@@ -77,6 +77,8 @@ static u16 d11ac_bw(enum brcmu_chan_bw b
- return BRCMU_CHSPEC_D11AC_BW_40;
- case BRCMU_CHAN_BW_80:
- return BRCMU_CHSPEC_D11AC_BW_80;
-+ case BRCMU_CHAN_BW_160:
-+ return BRCMU_CHSPEC_D11AC_BW_160;
- default:
- WARN_ON(1);
- }
-@@ -190,8 +192,38 @@ static void brcmu_d11ac_decchspec(struct
- break;
- }
- break;
-- case BRCMU_CHSPEC_D11AC_BW_8080:
- case BRCMU_CHSPEC_D11AC_BW_160:
-+ switch (ch->sb) {
-+ case BRCMU_CHAN_SB_LLL:
-+ ch->control_ch_num -= CH_70MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_LLU:
-+ ch->control_ch_num -= CH_50MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_LUL:
-+ ch->control_ch_num -= CH_30MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_LUU:
-+ ch->control_ch_num -= CH_10MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_ULL:
-+ ch->control_ch_num += CH_10MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_ULU:
-+ ch->control_ch_num += CH_30MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_UUL:
-+ ch->control_ch_num += CH_50MHZ_APART;
-+ break;
-+ case BRCMU_CHAN_SB_UUU:
-+ ch->control_ch_num += CH_70MHZ_APART;
-+ break;
-+ default:
-+ WARN_ON_ONCE(1);
-+ break;
-+ }
-+ break;
-+ case BRCMU_CHSPEC_D11AC_BW_8080:
- default:
- WARN_ON_ONCE(1);
- break;
---- a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h
-@@ -29,6 +29,8 @@
- #define CH_UPPER_SB 0x01
- #define CH_LOWER_SB 0x02
- #define CH_EWA_VALID 0x04
-+#define CH_70MHZ_APART 14
-+#define CH_50MHZ_APART 10
- #define CH_30MHZ_APART 6
- #define CH_20MHZ_APART 4
- #define CH_10MHZ_APART 2
diff --git a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
index f3da1df541..1a4a1ec348 100644
--- a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
+++ b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
@@ -68,29 +68,30 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
ret = brcmf_fw_complete_request(fw, fwctx);
- if (ret < 0)
- goto fail;
--
+
- do {
- if (++fwctx->curpos == fwctx->req->n_items) {
- ret = 0;
- goto done;
- }
-
+-
- ret = brcmf_fw_request_next_item(fwctx, false);
- } while (ret == -EAGAIN);
-
- return;
-+ while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
-+ cur = &fwctx->req->items[fwctx->curpos];
-+ request_firmware(&fw, cur->path, fwctx->dev);
-+ ret = brcmf_fw_complete_request(fw, ctx);
-+ }
-
+-
-fail:
- brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
- dev_name(fwctx->dev), cur->path);
- brcmf_fw_free_request(fwctx->req);
- fwctx->req = NULL;
-done:
++ while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
++ cur = &fwctx->req->items[fwctx->curpos];
++ request_firmware(&fw, cur->path, fwctx->dev);
++ ret = brcmf_fw_complete_request(fw, ctx);
++ }
++
+ if (ret) {
+ brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
+ dev_name(fwctx->dev), cur->path);