From: Ching-Te Ku <[email protected]>

[ Upstream commit 362c4a5cc886e9c369bf2106ab648c2ad076abb6 ]

Fix sometimes FW information will be parsed as wrong value,
do a correction of sign bit to show the correct information.
(Ex, Value should be 20, but it shows 236.)

Signed-off-by: Ching-Te Ku <[email protected]>
Signed-off-by: Ping-Ke Shih <[email protected]>
Signed-off-by: Kalle Valo <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sasha Levin <[email protected]>
---
 drivers/net/wireless/realtek/rtw88/coex.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtw88/coex.c 
b/drivers/net/wireless/realtek/rtw88/coex.c
index 853ac1c2ed73c..634044a14bb78 100644
--- a/drivers/net/wireless/realtek/rtw88/coex.c
+++ b/drivers/net/wireless/realtek/rtw88/coex.c
@@ -2451,7 +2451,7 @@ void rtw_coex_wl_fwdbginfo_notify(struct rtw_dev *rtwdev, 
u8 *buf, u8 length)
                if (buf[i] >= val)
                        coex_stat->wl_fw_dbg_info[i] = buf[i] - val;
                else
-                       coex_stat->wl_fw_dbg_info[i] = val - buf[i];
+                       coex_stat->wl_fw_dbg_info[i] = 255 - val + buf[i];
 
                coex_stat->wl_fw_dbg_info_pre[i] = buf[i];
        }
-- 
2.27.0

Reply via email to