wifi: rtlwifi: use unsigned long for bt_coexist_8723 timestamp
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 4 Oct 2023 09:24:15 +0000 (12:24 +0300)
committerKalle Valo <kvalo@kernel.org>
Mon, 9 Oct 2023 06:56:20 +0000 (09:56 +0300)
Since 'bt_inq_page_start_time' of 'struct bt_coexist_8723' is
in jiffies, prefer 'unsigned long' over 'u32' to avoid possible
truncation in 'rtl8723e_dm_bt_inq_page_monitor()' and adjust
related code. Found with clang's -Wshorten-64-to-32, compile
tested only.

Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231004092418.73337-1-dmantipov@yandex.ru
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hal_btc.c
drivers/net/wireless/realtek/rtlwifi/wifi.h

index 53af0d209b11acb3dabb21808f86e388b64e0e63..b34dffc6a30cd718e4c410ae4b9e53120626761b 100644 (file)
@@ -1122,7 +1122,7 @@ static void rtl8723e_dm_bt_2_ant_hid_sco_esco(struct ieee80211_hw *hw)
        /* Always ignore WlanAct if bHid|bSCOBusy|bSCOeSCO */
 
        rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG,
-               "[BTCoex], BT btInqPageStartTime = 0x%x, btTxRxCntLvl = %d\n",
+               "[BTCoex], BT btInqPageStartTime = 0x%lx, btTxRxCntLvl = %d\n",
                hal_coex_8723.bt_inq_page_start_time, bt_tx_rx_cnt_lvl);
        if ((hal_coex_8723.bt_inq_page_start_time) ||
            (BT_TXRX_CNT_LEVEL_3 == bt_tx_rx_cnt_lvl)) {
@@ -1335,7 +1335,7 @@ static void rtl8723e_dm_bt_2_ant_ftp_a2dp(struct ieee80211_hw *hw)
                btdm8723.dec_bt_pwr = true;
 
        rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG,
-               "[BTCoex], BT btInqPageStartTime = 0x%x, btTxRxCntLvl = %d\n",
+               "[BTCoex], BT btInqPageStartTime = 0x%lx, btTxRxCntLvl = %d\n",
                hal_coex_8723.bt_inq_page_start_time, bt_tx_rx_cnt_lvl);
 
        if ((hal_coex_8723.bt_inq_page_start_time) ||
@@ -1358,9 +1358,8 @@ static void rtl8723e_dm_bt_2_ant_ftp_a2dp(struct ieee80211_hw *hw)
 static void rtl8723e_dm_bt_inq_page_monitor(struct ieee80211_hw *hw)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       u32 cur_time;
+       unsigned long cur_time = jiffies;
 
-       cur_time = jiffies;
        if (hal_coex_8723.c2h_bt_inquiry_page) {
                /* bt inquiry or page is started. */
                if (hal_coex_8723.bt_inq_page_start_time == 0) {
@@ -1368,18 +1367,17 @@ static void rtl8723e_dm_bt_inq_page_monitor(struct ieee80211_hw *hw)
                        BT_COEX_STATE_BT_INQ_PAGE;
                        hal_coex_8723.bt_inq_page_start_time = cur_time;
                        rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG,
-                               "[BTCoex], BT Inquiry/page is started at time : 0x%x\n",
+                               "[BTCoex], BT Inquiry/page is started at time : 0x%lx\n",
                                hal_coex_8723.bt_inq_page_start_time);
                }
        }
        rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG,
-               "[BTCoex], BT Inquiry/page started time : 0x%x, cur_time : 0x%x\n",
+               "[BTCoex], BT Inquiry/page started time : 0x%lx, cur_time : 0x%lx\n",
                hal_coex_8723.bt_inq_page_start_time, cur_time);
 
        if (hal_coex_8723.bt_inq_page_start_time) {
-               if ((((long)cur_time -
-                       (long)hal_coex_8723.bt_inq_page_start_time) / HZ)
-                       >= 10) {
+               if (jiffies_to_msecs(cur_time -
+                                    hal_coex_8723.bt_inq_page_start_time) >= 10000) {
                        rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG,
                                "[BTCoex], BT Inquiry/page >= 10sec!!!\n");
                        hal_coex_8723.bt_inq_page_start_time = 0;
index 0f99e34467960837cb195f2c76163d7de1123d33..47b4685b6d24b6f5429209660bf0e3c0c68ba846 100644 (file)
@@ -1597,7 +1597,7 @@ struct bt_coexist_8723 {
        u8 c2h_bt_info;
        bool c2h_bt_info_req_sent;
        bool c2h_bt_inquiry_page;
-       u32 bt_inq_page_start_time;
+       unsigned long bt_inq_page_start_time;
        u8 bt_retry_cnt;
        u8 c2h_bt_info_original;
        u8 bt_inquiry_page_cnt;