From: Prithvi Tambewagh Date: Thu, 9 Apr 2026 13:50:25 +0000 (+0530) Subject: staging: rtl8723bs: use read_poll_timeout_atomic in _is_fw_read_cmd_down X-Git-Tag: v7.2-rc1~66^2~156 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=ec400f25bbd164ae59c7846cb5f13fe0e7a44743;p=thirdparty%2Flinux.git staging: rtl8723bs: use read_poll_timeout_atomic in _is_fw_read_cmd_down Replace the existing rtw_read8() and do-while loop mechanism with read_poll_timeout_atomic() from , in _is_fw_read_cmd_down() which is a standard Linux macro, ensuring polling REG_HMETFR efficiently. Signed-off-by: Prithvi Tambewagh Reviewed-by: Luka Gejak Link: https://patch.msgid.link/20260409135026.137904-5-activprithvi@gmail.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c index 12416e499ac35..4bdc8e314015b 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "hal_com_h2c.h" #define MAX_H2C_BOX_NUMS 4 @@ -18,20 +19,15 @@ static u8 _is_fw_read_cmd_down(struct adapter *padapter, u8 msgbox_num) { - u8 read_down = false; - int retry_cnts = 100; - u8 valid; + int ret; - do { - valid = rtw_read8(padapter, REG_HMETFR) & BIT(msgbox_num); - if (0 == valid) { - read_down = true; - } - } while ((!read_down) && (retry_cnts--)); - - return read_down; + ret = read_poll_timeout_atomic(rtw_read8, + valid, !(valid & BIT(msgbox_num)), + 0, 500, false, + padapter, REG_HMETFR); + return !ret; }