Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote: > A few unnecessary error messages are printed when the device is > unplugged. "read swsi busy" in particular can appear ~1000 times when > RTL8851BU is unplugged. > > Add a new flag RTW89_FLAG_UNPLUGGED and print some error messages only > when this flag is not set. The new USB driver will set the flag when > the device is unplugged. > > Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> Acked-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> [...] > diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c > index 1a03355b340f..99f01fff90fe 100644 > --- a/drivers/net/wireless/realtek/rtw89/mac.c > +++ b/drivers/net/wireless/realtek/rtw89/mac.c > @@ -88,7 +88,7 @@ int rtw89_mac_write_lte(struct rtw89_dev *rtwdev, const u32 offset, u32 val) > > ret = read_poll_timeout(rtw89_read8, lte_ctrl, (lte_ctrl & BIT(5)) != 0, > 50, 50000, false, rtwdev, R_AX_LTE_CTRL + 3); For this case, timeout time is large enough for USB. But I'm surprising that you don't need to adjust timeout time of read_poll_timeout() for USB devices, since USB is much slower than PCIE. If sometime you need, I suggest this pattern (number is artificial): u64 rtw89_hci_timeout(rtwdev, to) { if (USB 2) return max(to, 200); // I assume USB 2 is slower and 200 is enough for two times IO. else if (USB 3) return max(to, 100); // I assume USB 3 is faster than USB 2 return to; } u64 to; to = rtw89_hci_timeout(rtwdev, 30); - read_poll_timeout(..., 1, 30, ...); + read_poll_timeout(..., 1, to, ...);