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