aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/329-v4.17-0001-brcmfmac-move-brcmf_bus_preinit-call-just-after-chan.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/329-v4.17-0001-brcmfmac-move-brcmf_bus_preinit-call-just-after-chan.patch')
-rw-r--r--package/kernel/mac80211/patches/329-v4.17-0001-brcmfmac-move-brcmf_bus_preinit-call-just-after-chan.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/329-v4.17-0001-brcmfmac-move-brcmf_bus_preinit-call-just-after-chan.patch b/package/kernel/mac80211/patches/329-v4.17-0001-brcmfmac-move-brcmf_bus_preinit-call-just-after-chan.patch
new file mode 100644
index 0000000000..8144daf2db
--- /dev/null
+++ b/package/kernel/mac80211/patches/329-v4.17-0001-brcmfmac-move-brcmf_bus_preinit-call-just-after-chan.patch
@@ -0,0 +1,45 @@
+From da472385a29f1fddcac7cfa0499482704310bd16 Mon Sep 17 00:00:00 2001
+From: Arend Van Spriel <arend.vanspriel@broadcom.com>
+Date: Tue, 20 Feb 2018 00:14:18 +0100
+Subject: [PATCH] brcmfmac: move brcmf_bus_preinit() call just after changing
+ bus state
+
+Moving the brcmf_bus_preinit() call allows the bus code to do some
+required initialization before handling firmware control messages.
+
+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>
+---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 3 ---
+ drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 5 +++++
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+@@ -215,9 +215,6 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
+
+ /* Enable tx beamforming, errors can be ignored (not supported) */
+ (void)brcmf_fil_iovar_int_set(ifp, "txbf", 1);
+-
+- /* do bus specific preinit here */
+- err = brcmf_bus_preinit(ifp->drvr->bus_if);
+ done:
+ return err;
+ }
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+@@ -1058,6 +1058,11 @@ int brcmf_bus_started(struct device *dev
+ /* signal bus ready */
+ brcmf_bus_change_state(bus_if, BRCMF_BUS_UP);
+
++ /* do bus specific preinit here */
++ ret = brcmf_bus_preinit(ifp->drvr->bus_if);
++ if (ret < 0)
++ goto fail;
++
+ /* Bus is ready, do any initialization */
+ ret = brcmf_c_preinit_dcmds(ifp);
+ if (ret < 0)