brcmfmac: improve Raspberry Pi 3 stability
- Really disable power management (wrong config flags). - Disable internal roaming engine. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
		@@ -18,8 +18,8 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
			
		||||
 	 * preference in cfg struct to apply this to
 | 
			
		||||
 	 * FW later while initializing the dongle
 | 
			
		||||
 	 */
 | 
			
		||||
+#if defined(CONFIG_BCM2708) || defined(CONFIG_BCM2709)
 | 
			
		||||
+	pr_info("power management disabled\n");
 | 
			
		||||
+#if defined(CONFIG_ARCH_BCM2708) || defined(CONFIG_ARCH_BCM2709)
 | 
			
		||||
+	brcmf_dbg(INFO, "power management disabled\n");
 | 
			
		||||
+	enabled = false;
 | 
			
		||||
+#endif
 | 
			
		||||
 	cfg->pwr_save = enabled;
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,23 @@
 | 
			
		||||
brcmfmac: do not use internal roaming engine by default
 | 
			
		||||
 | 
			
		||||
Some evidence of curing disconnects with this disabled, so make it a default.
 | 
			
		||||
Can be overridden with module parameter roamoff=0
 | 
			
		||||
See: http://projectable.me/optimize-my-pi-wi-fi/
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
 | 
			
		||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
 | 
			
		||||
@@ -69,7 +69,11 @@ static int brcmf_fcmode;
 | 
			
		||||
 module_param_named(fcmode, brcmf_fcmode, int, 0);
 | 
			
		||||
 MODULE_PARM_DESC(fcmode, "Mode of firmware signalled flow control");
 | 
			
		||||
 
 | 
			
		||||
+#if defined(CONFIG_ARCH_BCM2708) || defined(CONFIG_ARCH_BCM2709)
 | 
			
		||||
+static int brcmf_roamoff = 1;
 | 
			
		||||
+#else
 | 
			
		||||
 static int brcmf_roamoff;
 | 
			
		||||
+#endif
 | 
			
		||||
 module_param_named(roamoff, brcmf_roamoff, int, S_IRUSR);
 | 
			
		||||
 MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user