aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43legacy/leds.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/b43legacy/leds.c')
-rw-r--r--drivers/net/wireless/b43legacy/leds.c12
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: