Thread (4 messages) 4 messages, 4 authors, 2019-06-25

Re: [PATCH] rtlwifi: remove redundant assignment to variable k

From: Larry Finger <hidden>
Date: 2019-05-31 17:29:16
Also in: kernel-janitors, linux-wireless, lkml

On 5/31/19 9:14 AM, Colin King wrote:
quoted hunk ↗ jump to hunk
From: Colin Ian King <redacted>

The assignment of 0 to variable k is never read once we break out of
the loop, so the assignment is redundant and can be removed.

Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <redacted>
---
  drivers/net/wireless/realtek/rtlwifi/efuse.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtlwifi/efuse.c b/drivers/net/wireless/realtek/rtlwifi/efuse.c
index e68340dfd980..83e5318ca04f 100644
--- a/drivers/net/wireless/realtek/rtlwifi/efuse.c
+++ b/drivers/net/wireless/realtek/rtlwifi/efuse.c
@@ -117,10 +117,8 @@ u8 efuse_read_1byte(struct ieee80211_hw *hw, u16 address)
  						 rtlpriv->cfg->
  						 maps[EFUSE_CTRL] + 3);
  			k++;
-			if (k == 1000) {
-				k = 0;
+			if (k == 1000)
  				break;
-			}
  		}
  		data = rtl_read_byte(rtlpriv, rtlpriv->cfg->maps[EFUSE_CTRL]);
  		return data;
Colin,

Your patch is not wrong, but it fails to address a basic deficiency of this code 
snippet - when an error is detected, there is no attempt to either fix the 
problem or report it upstream. As the data returned will be garbage if this 
condition happens, we might as well replace the "break" with "return 0xFF", as 
well as deleting the "k = 0" line. Most of the callers of efuse_read_1byte() 
ignore the returned result when bits 0 and 4 are set, thus returning all 8 bits 
is not a bad fixup.

My suspicion is that this test is in the code merely to prevent an potential 
unterminated "while" loop, and that this condition is extremely unlikely to happen.

Larry

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help