diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
| -rw-r--r-- | drivers/net/wireless/b43/main.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index c79e6638c88..e4d6dc2e37d 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;  }  |