46 lines
1.7 KiB
Diff
46 lines
1.7 KiB
Diff
|
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
|
||
|
@@ -369,9 +369,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
|
||
|
@@ -1091,6 +1091,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)
|