Re: [PATCH 3/4] staging: r8188eu: add error handling of rtw_read32

From: Pavel Skripkin
Date: Thu May 19 2022 - 01:49:06 EST


Hi Dan,

On 5/19/22 08:43, Dan Carpenter wrote:
On Thu, May 19, 2022 at 01:12:01AM +0300, Pavel Skripkin wrote:
diff --git a/drivers/staging/r8188eu/core/rtw_efuse.c b/drivers/staging/r8188eu/core/rtw_efuse.c
index a2691c7f96f6..7105122c2ba0 100644
--- a/drivers/staging/r8188eu/core/rtw_efuse.c
+++ b/drivers/staging/r8188eu/core/rtw_efuse.c
@@ -47,9 +47,18 @@ ReadEFuseByte(
/* Check bit 32 read-ready */
retry = 0;
- value32 = rtw_read32(Adapter, EFUSE_CTRL);
- while (!(((value32 >> 24) & 0xff) & 0x80) && (retry < 10000)) {
- value32 = rtw_read32(Adapter, EFUSE_CTRL);
+ res = rtw_read32(Adapter, EFUSE_CTRL, &value32);
+ if (res)
+ return;
+
+ while (retry < 10000) {
+ res = rtw_read32(Adapter, EFUSE_CTRL, &value32);
+ if (res)
+ continue;

Forever loop. Always put the ++ in side the while (). Apparently,
Smatch does not catch this. #Idea #Oppurtunity


I have missed it every single loop... :(

That's why I don't like 'while' loops, 'for' suits much better for this kind of things.


Thanks you for your review! Will address your comments in next version




With regards,
Pavel Skripkin

Attachment: OpenPGP_signature
Description: OpenPGP digital signature