diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
| -rw-r--r-- | drivers/net/wireless/b43/main.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 6456afebdba..e71c8d9cd70 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c @@ -3497,8 +3497,8 @@ static int b43_op_config(struct ieee80211_hw *hw, u32 changed)  	if (phy->ops->set_rx_antenna)  		phy->ops->set_rx_antenna(dev, antenna); -	if (!!conf->radio_enabled != phy->radio_on) { -		if (conf->radio_enabled) { +	if (wl->radio_enabled != phy->radio_on) { +		if (wl->radio_enabled) {  			b43_software_rfkill(dev, false);  			b43info(dev->wl, "Radio turned on by software\n");  			if (!dev->radio_hw_enable) { @@ -4339,6 +4339,7 @@ static int b43_op_start(struct ieee80211_hw *hw)  	wl->beacon0_uploaded = 0;  	wl->beacon1_uploaded = 0;  	wl->beacon_templates_virgin = 1; +	wl->radio_enabled = 1;  	mutex_lock(&wl->mutex); @@ -4378,6 +4379,7 @@ static void b43_op_stop(struct ieee80211_hw *hw)  	if (b43_status(dev) >= B43_STAT_STARTED)  		b43_wireless_core_stop(dev);  	b43_wireless_core_exit(dev); +	wl->radio_enabled = 0;  	mutex_unlock(&wl->mutex);  	cancel_work_sync(&(wl->txpower_adjust_work)); @@ -4560,6 +4562,7 @@ static int b43_wireless_core_attach(struct b43_wldev *dev)  		B43_WARN_ON(1);  	dev->phy.gmode = have_2ghz_phy; +	dev->phy.radio_on = 1;  	tmp = dev->phy.gmode ? B43_TMSLOW_GMODE : 0;  	b43_wireless_core_reset(dev, tmp);  |