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

rtlwifi/rtl8192c[eu]: Fix media status register mask

bt_msr & 0xfc will never match 0x3. Fix this by using a mask that actually matches the available types.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Rickard Strandqvist and committed by
John W. Linville
965ec741 8a607208

+3 -2
+1 -1
drivers/net/wireless/rtlwifi/rtl8192ce/hw.c
··· 1206 1206 1207 1207 rtl_write_byte(rtlpriv, (MSR), bt_msr); 1208 1208 rtlpriv->cfg->ops->led_control(hw, ledaction); 1209 - if ((bt_msr & 0xfc) == MSR_AP) 1209 + if ((bt_msr & MSR_MASK) == MSR_AP) 1210 1210 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00); 1211 1211 else 1212 1212 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66);
+1
drivers/net/wireless/rtlwifi/rtl8192ce/reg.h
··· 375 375 #define MSR_ADHOC 0x01 376 376 #define MSR_INFRA 0x02 377 377 #define MSR_AP 0x03 378 + #define MSR_MASK 0x03 378 379 379 380 #define RRSR_RSC_OFFSET 21 380 381 #define RRSR_SHORT_OFFSET 23
+1 -1
drivers/net/wireless/rtlwifi/rtl8192cu/hw.c
··· 1360 1360 } 1361 1361 rtl_write_byte(rtlpriv, (MSR), bt_msr); 1362 1362 rtlpriv->cfg->ops->led_control(hw, ledaction); 1363 - if ((bt_msr & 0xfc) == MSR_AP) 1363 + if ((bt_msr & MSR_MASK) == MSR_AP) 1364 1364 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00); 1365 1365 else 1366 1366 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66);