2014-06-23 21:47:21

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCHv3 0/6] rtlwifi: Fix incorrect MSR mask

An error was found in many rtlwifi drivers where an invalid mask was used,
(bt_msr & 0xfc) will never match 0x3. This has been corrected by supplying
a valid mask as a macro. Drivers which did not have this bug are still
modified for consistency.

Rickard Strandqvist (1):
rtlwifi: Fix media status register mask AND Replace magic number by macro

drivers/net/wireless/rtlwifi/rtl8188ee/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8188ee/reg.h | 1 +
drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8192ce/reg.h | 1 +
drivers/net/wireless/rtlwifi/rtl8192cu/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8192de/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8192de/reg.h | 1 +
drivers/net/wireless/rtlwifi/rtl8723ae/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8723ae/reg.h | 1 +
drivers/net/wireless/rtlwifi/rtl8723be/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8723be/reg.h | 1 +
drivers/staging/rtl8821ae/rtl8821ae/hw.c | 2 +-
drivers/staging/rtl8821ae/rtl8821ae/reg.h | 1 +
13 files changed, 13 insertions(+), 7 deletions(-)

--
1.7.10.4


2014-06-23 21:47:41

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCHv3 1/6] rtlwifi/rtl8192de: 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 <[email protected]>
Reviewed-by: Peter Wu <[email protected]>
---
drivers/net/wireless/rtlwifi/rtl8192de/hw.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8192de/reg.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/hw.c b/drivers/net/wireless/rtlwifi/rtl8192de/hw.c
index 2b08671..280c3da 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192de/hw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192de/hw.c
@@ -1128,7 +1128,7 @@ static int _rtl92de_set_media_status(struct ieee80211_hw *hw,
}
rtl_write_byte(rtlpriv, REG_CR + 2, bt_msr);
rtlpriv->cfg->ops->led_control(hw, ledaction);
- if ((bt_msr & 0xfc) == MSR_AP)
+ if ((bt_msr & MSR_MASK) == MSR_AP)
rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00);
else
rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66);
diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/reg.h b/drivers/net/wireless/rtlwifi/rtl8192de/reg.h
index 7f29b8d..315a298 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192de/reg.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192de/reg.h
@@ -369,6 +369,7 @@
#define MSR_ADHOC 0x01
#define MSR_INFRA 0x02
#define MSR_AP 0x03
+#define MSR_MASK 0x03

/* 6. Adaptive Control Registers (Offset: 0x0160 - 0x01CF) */
/* ----------------------------------------------------- */
--
1.7.10.4

2014-06-23 22:27:20

by Peter Wu

[permalink] [raw]
Subject: Re: [PATCHv3 0/6] rtlwifi: Fix incorrect MSR mask

On Monday 23 June 2014 23:48:16 Rickard Strandqvist wrote:
> An error was found in many rtlwifi drivers where an invalid mask was used,
> (bt_msr & 0xfc) will never match 0x3. This has been corrected by supplying
> a valid mask as a macro. Drivers which did not have this bug are still
> modified for consistency.

LGTM for all 6 patches. Reviewed-by was added with permission in a
private conversation.

> Rickard Strandqvist (1):
> rtlwifi: Fix media status register mask AND Replace magic number by macro

This looks a bit unfortunate, next time just wipe old patches and
generate new ones with git-format-patch, then use the command
git-send-email patches/*. In that way, the threading stays intact.

Kind regards,
Peter

> drivers/net/wireless/rtlwifi/rtl8188ee/hw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8188ee/reg.h | 1 +
> drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8192ce/reg.h | 1 +
> drivers/net/wireless/rtlwifi/rtl8192cu/hw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8192de/hw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8192de/reg.h | 1 +
> drivers/net/wireless/rtlwifi/rtl8723ae/hw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8723ae/reg.h | 1 +
> drivers/net/wireless/rtlwifi/rtl8723be/hw.c | 2 +-
> drivers/net/wireless/rtlwifi/rtl8723be/reg.h | 1 +
> drivers/staging/rtl8821ae/rtl8821ae/hw.c | 2 +-
> drivers/staging/rtl8821ae/rtl8821ae/reg.h | 1 +
> 13 files changed, 13 insertions(+), 7 deletions(-)