Ack: [Precise PATCH] (pre-stable) b43: only reload config after successful initialization

Leann Ogasawara leann.ogasawara at canonical.com
Tue May 1 18:38:35 UTC 2012


On 04/30/2012 09:29 AM, Tim Gardner wrote:
> From: Seth Forshee<seth.forshee at canonical.com>
>
> Commit 2a19032 (b43: reload phy and bss settings after core restarts)
> introduced an unconditional call to b43_op_config() at the end of
> b43_op_start(). When firmware fails to load this can wedge the system.
> There's no need to reload the configuration after a failed
> initialization anyway, so only make the call if initialization was
> successful.
>
> BugLink: http://bugs.launchpad.net/bugs/950295
> Cc: Felix Fietkau<nbd at openwrt.org>
> Cc:<stable at vger.kernel.org>
> Signed-off-by: Seth Forshee<seth.forshee at canonical.com>
> Signed-off-by: John W. Linville<linville at tuxdriver.com>

Patch has been sent upstream and has positive test feedback:

Acked-by: Leann Ogasawara <leann.ogasawara at canonical.com>

> ---
>   drivers/net/wireless/b43/main.c |   10 ++++++++--
>   1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index c79e663..e4d6dc2 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -4827,8 +4827,14 @@ static int b43_op_start(struct ieee80211_hw *hw)
>    out_mutex_unlock:
>   	mutex_unlock(&wl->mutex);
>
> -	/* reload configuration */
> -	b43_op_config(hw, ~0);
> +	/*
> +	 * Configuration may have been overwritten during initialization.
> +	 * Reload the configuration, but only if initialization was
> +	 * successful. Reloading the configuration after a failed init
> +	 * may hang the system.
> +	 */
> +	if (!err)
> +		b43_op_config(hw, ~0);
>
>   	return err;
>   }





More information about the kernel-team mailing list