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 |  	 * preference in cfg struct to apply this to | ||||||
|  	 * FW later while initializing the dongle |  	 * FW later while initializing the dongle | ||||||
|  	 */ |  	 */ | ||||||
| +#if defined(CONFIG_BCM2708) || defined(CONFIG_BCM2709) | +#if defined(CONFIG_ARCH_BCM2708) || defined(CONFIG_ARCH_BCM2709) | ||||||
| +	pr_info("power management disabled\n"); | +	brcmf_dbg(INFO, "power management disabled\n"); | ||||||
| +	enabled = false; | +	enabled = false; | ||||||
| +#endif | +#endif | ||||||
|  	cfg->pwr_save = enabled; |  	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
	 Álvaro Fernández Rojas
					Álvaro Fernández Rojas