|
@@ -33,8 +33,14 @@ bool b43_is_hw_radio_enabled(struct b43_wldev *dev)
|
|
|
& B43_MMIO_RADIO_HWENABLED_HI_MASK))
|
|
|
return 1;
|
|
|
} else {
|
|
|
- if (b43_status(dev) >= B43_STAT_STARTED &&
|
|
|
- b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO)
|
|
|
+ /* To prevent CPU fault on PPC, do not read a register
|
|
|
+ * unless the interface is started; however, on resume
|
|
|
+ * for hibernation, this routine is entered early. When
|
|
|
+ * that happens, unconditionally return TRUE.
|
|
|
+ */
|
|
|
+ if (b43_status(dev) < B43_STAT_STARTED)
|
|
|
+ return 1;
|
|
|
+ if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO)
|
|
|
& B43_MMIO_RADIO_HWENABLED_LO_MASK)
|
|
|
return 1;
|
|
|
}
|