Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

b43: rfkill: use HI enabled bit for all devices

Devices which use LO enabled bit are covered by b43legacy

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Rafał Miłecki and committed by
John W. Linville
8ce46999 8933f90c

+2 -17
+2 -17
drivers/net/wireless/b43/rfkill.c
··· 28 28 /* Returns TRUE, if the radio is enabled in hardware. */ 29 29 bool b43_is_hw_radio_enabled(struct b43_wldev *dev) 30 30 { 31 - if (dev->phy.rev >= 3 || dev->phy.type == B43_PHYTYPE_LP) { 32 - if (!(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI) 33 - & B43_MMIO_RADIO_HWENABLED_HI_MASK)) 34 - return 1; 35 - } else { 36 - /* To prevent CPU fault on PPC, do not read a register 37 - * unless the interface is started; however, on resume 38 - * for hibernation, this routine is entered early. When 39 - * that happens, unconditionally return TRUE. 40 - */ 41 - if (b43_status(dev) < B43_STAT_STARTED) 42 - return 1; 43 - if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO) 44 - & B43_MMIO_RADIO_HWENABLED_LO_MASK) 45 - return 1; 46 - } 47 - return 0; 31 + return !(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI) 32 + & B43_MMIO_RADIO_HWENABLED_HI_MASK); 48 33 } 49 34 50 35 /* The poll callback for the hardware button. */