Commit 71ffa1bc authored by Dmitry Antipov's avatar Dmitry Antipov Committed by Kalle Valo

wifi: rtlwifi: use unsigned long for bt_coexist_8723 timestamp

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: default avatarDmitry Antipov <dmantipov@yandex.ru>
Acked-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20231004092418.73337-1-dmantipov@yandex.ru
parent 14a5b115
...@@ -1122,7 +1122,7 @@ static void rtl8723e_dm_bt_2_ant_hid_sco_esco(struct ieee80211_hw *hw) ...@@ -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 */ /* Always ignore WlanAct if bHid|bSCOBusy|bSCOeSCO */
rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, 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); hal_coex_8723.bt_inq_page_start_time, bt_tx_rx_cnt_lvl);
if ((hal_coex_8723.bt_inq_page_start_time) || if ((hal_coex_8723.bt_inq_page_start_time) ||
(BT_TXRX_CNT_LEVEL_3 == bt_tx_rx_cnt_lvl)) { (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) ...@@ -1335,7 +1335,7 @@ static void rtl8723e_dm_bt_2_ant_ftp_a2dp(struct ieee80211_hw *hw)
btdm8723.dec_bt_pwr = true; btdm8723.dec_bt_pwr = true;
rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, 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); hal_coex_8723.bt_inq_page_start_time, bt_tx_rx_cnt_lvl);
if ((hal_coex_8723.bt_inq_page_start_time) || 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) ...@@ -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) static void rtl8723e_dm_bt_inq_page_monitor(struct ieee80211_hw *hw)
{ {
struct rtl_priv *rtlpriv = rtl_priv(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) { if (hal_coex_8723.c2h_bt_inquiry_page) {
/* bt inquiry or page is started. */ /* bt inquiry or page is started. */
if (hal_coex_8723.bt_inq_page_start_time == 0) { 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) ...@@ -1368,18 +1367,17 @@ static void rtl8723e_dm_bt_inq_page_monitor(struct ieee80211_hw *hw)
BT_COEX_STATE_BT_INQ_PAGE; BT_COEX_STATE_BT_INQ_PAGE;
hal_coex_8723.bt_inq_page_start_time = cur_time; hal_coex_8723.bt_inq_page_start_time = cur_time;
rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, 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); hal_coex_8723.bt_inq_page_start_time);
} }
} }
rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, 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); hal_coex_8723.bt_inq_page_start_time, cur_time);
if (hal_coex_8723.bt_inq_page_start_time) { if (hal_coex_8723.bt_inq_page_start_time) {
if ((((long)cur_time - if (jiffies_to_msecs(cur_time -
(long)hal_coex_8723.bt_inq_page_start_time) / HZ) hal_coex_8723.bt_inq_page_start_time) >= 10000) {
>= 10) {
rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG,
"[BTCoex], BT Inquiry/page >= 10sec!!!\n"); "[BTCoex], BT Inquiry/page >= 10sec!!!\n");
hal_coex_8723.bt_inq_page_start_time = 0; hal_coex_8723.bt_inq_page_start_time = 0;
......
...@@ -1597,7 +1597,7 @@ struct bt_coexist_8723 { ...@@ -1597,7 +1597,7 @@ struct bt_coexist_8723 {
u8 c2h_bt_info; u8 c2h_bt_info;
bool c2h_bt_info_req_sent; bool c2h_bt_info_req_sent;
bool c2h_bt_inquiry_page; bool c2h_bt_inquiry_page;
u32 bt_inq_page_start_time; unsigned long bt_inq_page_start_time;
u8 bt_retry_cnt; u8 bt_retry_cnt;
u8 c2h_bt_info_original; u8 c2h_bt_info_original;
u8 bt_inquiry_page_cnt; u8 bt_inquiry_page_cnt;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment