rtlwifi: rtl8192c-common: Fix two typos
authorLarry Finger <Larry.Finger@lwfinger.net>
Mon, 3 Aug 2015 21:15:53 +0000 (16:15 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 13 Aug 2015 12:32:49 +0000 (15:32 +0300)
In this driver, two variables are masked by one quantity, and then tested
against a second number with more bits that the mask. Accordingly, the
test always fails. To minimize the possibility of such typos, a symbolic
definition of the mask is created and used.

The separate load and mask operations are also combined into a single
statement.

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: David Binderman <dcb314@hotmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c

index d40acac..03cbe4c 100644 (file)
@@ -39,6 +39,7 @@
 #define BT_RSSI_STATE_SPECIAL_LOW      BIT_OFFSET_LEN_MASK_32(2, 1)
 #define BT_RSSI_STATE_BG_EDCA_LOW      BIT_OFFSET_LEN_MASK_32(3, 1)
 #define BT_RSSI_STATE_TXPOWER_LOW      BIT_OFFSET_LEN_MASK_32(4, 1)
+#define BT_MASK                                0x00ffffff
 
 #define RTLPRIV                        (struct rtl_priv *)
 #define GET_UNDECORATED_AVERAGE_RSSI(_priv)    \
@@ -1536,13 +1537,11 @@ static bool rtl92c_bt_state_change(struct ieee80211_hw *hw)
                return false;
 
        bt_state = rtl_read_byte(rtlpriv, 0x4fd);
-       bt_tx = rtl_read_dword(rtlpriv, 0x488);
-       bt_tx = bt_tx & 0x00ffffff;
-       bt_pri = rtl_read_dword(rtlpriv, 0x48c);
-       bt_pri = bt_pri & 0x00ffffff;
+       bt_tx = rtl_read_dword(rtlpriv, 0x488) & BT_MASK;
+       bt_pri = rtl_read_dword(rtlpriv, 0x48c) & BT_MASK;
        polling = rtl_read_dword(rtlpriv, 0x490);
 
-       if (bt_tx == 0xffffffff && bt_pri == 0xffffffff &&
+       if (bt_tx == BT_MASK && bt_pri == BT_MASK &&
            polling == 0xffffffff && bt_state == 0xff)
                return false;