It was described by Arend as:
> This series is intended for 4.17 and includes following:
>
>  * rework bus layer attach code.
>  * remove duplicate variable declaration.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 0da9303e5b)
		
	
		
			
				
	
	
		
			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)
 |