rtw89: improve debugging and fix a sleep issue

Improve log messages to be more helpful in error cases.
Change one LinuxKPI sleep function as we cannot call the original
one from a context we cannot sleep.
Both cases were hit during testing.

MFC after:	3 days
This commit is contained in:
Bjoern A. Zeeb 2023-09-06 16:47:45 +00:00
parent 58cf91d3b7
commit 118d0ff54d
2 changed files with 13 additions and 0 deletions

View file

@ -903,7 +903,12 @@ static void rtw89_fw_prog_cnt_dump(struct rtw89_dev *rtwdev)
for (index = 0; index < 15; index++) {
val32 = rtw89_read32(rtwdev, R_AX_DBG_PORT_SEL);
rtw89_err(rtwdev, "[ERR]fw PC = 0x%x\n", val32);
#if defined(__linux__)
fsleep(10);
#elif defined(__FreeBSD__)
/* Seems we are called from a context we cannot sleep. */
udelay(10);
#endif
}
}
@ -3890,7 +3895,11 @@ static int rtw89_hw_scan_prehandle(struct rtw89_dev *rtwdev,
ret = rtw89_hw_scan_update_probe_req(rtwdev, rtwvif);
if (ret) {
#if defined(__linux__)
rtw89_err(rtwdev, "Update probe request failed\n");
#elif defined(__FreeBSD__)
rtw89_err(rtwdev, "Update probe request failed: ret %d\n", ret);
#endif
goto out;
}
ret = rtw89_hw_scan_add_chan_list(rtwdev, rtwvif, connected);

View file

@ -1439,7 +1439,11 @@ static void rtw89_phy_init_rf_nctl(struct rtw89_dev *rtwdev)
ret = read_poll_timeout(rtw89_phy_nctl_poll, val, val == 0x4, 10,
1000, false, rtwdev);
if (ret)
#if defined(__linux__)
rtw89_err(rtwdev, "failed to poll nctl block\n");
#elif defined(__FreeBSD__)
rtw89_err(rtwdev, "failed to poll nctl block: ret %d val %#06x\n", ret, val);
#endif
nctl_table = elm_info->rf_nctl ? elm_info->rf_nctl : chip->nctl_table;
rtw89_phy_init_reg(rtwdev, nctl_table, rtw89_phy_config_bb_reg, NULL);