Here is the final released fix:
diff --git a/drivers/net/wireless/b43/rfkill.c b/drivers/net/wireless/b43/rfkill.c index 31e5599..dcde92d 100644 --- a/drivers/net/wireless/b43/rfkill.c +++ b/drivers/net/wireless/b43/rfkill.c @@ -33,7 +33,8 @@ bool b43_is_hw_radio_enabled(struct b43_wldev *dev) & B43_MMIO_RADIO_HWENABLED_HI_MASK)) return 1; } else { - if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO) + if (b43_status(dev) >= B43_STAT_STARTED && + b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO) & B43_MMIO_RADIO_HWENABLED_LO_MASK) return 1; }
Here is the final released fix:
diff --git a/drivers/ net/wireless/ b43/rfkill. c b/drivers/ net/wireless/ b43/rfkill. c net/wireless/ b43/rfkill. c net/wireless/ b43/rfkill. c hw_radio_ enabled( struct b43_wldev *dev)
& B43_MMIO_ RADIO_HWENABLED _HI_MASK) )
return 1; RADIO_HWENABLED _LO) RADIO_HWENABLED _LO)
& B43_MMIO_ RADIO_HWENABLED _LO_MASK)
return 1;
index 31e5599..dcde92d 100644
--- a/drivers/
+++ b/drivers/
@@ -33,7 +33,8 @@ bool b43_is_
} else {
- if (b43_read16(dev, B43_MMIO_
+ if (b43_status(dev) >= B43_STAT_STARTED &&
+ b43_read16(dev, B43_MMIO_
}