diff options
Diffstat (limited to 'drivers/net/wireless/b43legacy/leds.c')
| -rw-r--r-- | drivers/net/wireless/b43legacy/leds.c | 12 | 
1 files changed, 4 insertions, 8 deletions
| diff --git a/drivers/net/wireless/b43legacy/leds.c b/drivers/net/wireless/b43legacy/leds.c index 498912ddeddb..a584ea810502 100644 --- a/drivers/net/wireless/b43legacy/leds.c +++ b/drivers/net/wireless/b43legacy/leds.c @@ -182,6 +182,7 @@ void b43legacy_leds_update(struct b43legacy_wldev *dev, int activity)  	unsigned long interval = 0;  	u16 ledctl;  	unsigned long flags; +	bool radio_enabled = (phy->radio_on && dev->radio_hw_enable);  	spin_lock_irqsave(&dev->wl->leds_lock, flags);  	ledctl = b43legacy_read16(dev, B43legacy_MMIO_GPIO_CONTROL); @@ -201,20 +202,15 @@ void b43legacy_leds_update(struct b43legacy_wldev *dev, int activity)  			turn_on = activity;  			break;  		case B43legacy_LED_RADIO_ALL: -			turn_on = phy->radio_on && -				  b43legacy_is_hw_radio_enabled(dev); +			turn_on = radio_enabled;  			break;  		case B43legacy_LED_RADIO_A:  			break;  		case B43legacy_LED_RADIO_B: -			turn_on = (phy->radio_on && -				   b43legacy_is_hw_radio_enabled(dev) && -				   (phy->type == B43legacy_PHYTYPE_B || -				    phy->type == B43legacy_PHYTYPE_G)); +			turn_on = radio_enabled;  			break;  		case B43legacy_LED_MODE_BG: -			if (phy->type == B43legacy_PHYTYPE_G && -			    b43legacy_is_hw_radio_enabled(dev)) +			if (phy->type == B43legacy_PHYTYPE_G && radio_enabled)  				turn_on = 1;  			break;  		case B43legacy_LED_TRANSFER: | 
