[patch 03/47] b43: Fix possible MMIO access while device is down

Greg KH
2008-07-22T23:18:46Z

[-- Attachment #1: b43-fix-possible-mmio-access-while-device-is-down.patch --]
[-- Type: text/plain, Size: 999 bytes --]

2.6.25-stable review patch. If anyone has any objections, please let us
know.

------------------
From: Michael Buesch <mb@bu3sch.de>

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.

Upstream commit is
33598cf261e393f2b3349cb55509e358014bfd1f

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
drivers/net/wireless/b43/leds.c | 3 +++
1 file changed, 3 insertions(+)

--- a/drivers/net/wireless/b43/leds.c
+++ b/drivers/net/wireless/b43/leds.c
@@ -72,6 +72,9 @@ static void b43_led_brightness_set(struc
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. */

--