This fixes a possible MMIO access while the device is still down from a suspend cycle. MMIO accesses with the device powered down may cause crashes on certain devices. Signed-off-by: Michael Buesch <mb@xxxxxxxxx> --- John, please queue for 2.6.26 Index: wireless-testing/drivers/net/wireless/b43/leds.c =================================================================== --- wireless-testing.orig/drivers/net/wireless/b43/leds.c 2008-05-15 23:31:37.000000000 +0200 +++ wireless-testing/drivers/net/wireless/b43/leds.c 2008-06-15 15:55:42.000000000 +0200 @@ -69,12 +69,15 @@ static void b43_led_brightness_set(struc enum led_brightness brightness) { struct b43_led *led = container_of(led_dev, struct b43_led, led_dev); struct b43_wldev *dev = led->dev; bool radio_enabled; + if (unlikely(b43_status(dev) < B43_STAT_INITIALIZED)) + return; + /* Checking the radio-enabled status here is slightly racy, * but we want to avoid the locking overhead and we don't care * whether the LED has the wrong state for a second. */ radio_enabled = (dev->phy.radio_on && dev->radio_hw_enable); if (brightness == LED_OFF || !radio_enabled) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html