[PATCH 4/5] drivers/net/wireless/ath/ath6kl/main.c: introduce missing initialization

Subsystems: atheros ath generic utilities, atheros ath6kl wireless driver, the rest

STALE5100d

2 messages, 2 authors, 2012-08-20 · open the first message on its own page

[PATCH 4/5] drivers/net/wireless/ath/ath6kl/main.c: introduce missing initialization

From: Julia Lawall <hidden>
Date: 2012-08-18 21:27:41

From: Julia Lawall <redacted>

The result of one call to a function is tested, and then at the second call
to the same function, the previous result, and not the current result, is
tested again.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression ret;
identifier f;
statement S1,S2;
@@

*ret = f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S1
... when any
*f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S2
// </smpl>

Signed-off-by: Julia Lawall <redacted>

---
 drivers/net/wireless/ath/ath6kl/main.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath6kl/main.c b/drivers/net/wireless/ath/ath6kl/main.c
index c189e28..c312c61 100644
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
@@ -322,7 +322,8 @@ int ath6kl_read_fwlogs(struct ath6kl *ar)
 
 		address = TARG_VTOP(ar->target_type,
 				    le32_to_cpu(debug_buf.next));
-		ath6kl_diag_read(ar, address, &debug_buf, sizeof(debug_buf));
+		ret = ath6kl_diag_read(ar, address, &debug_buf,
+				       sizeof(debug_buf));
 		if (ret)
 			goto out;
 

Re: [PATCH 4/5] drivers/net/wireless/ath/ath6kl/main.c: introduce missing initialization

From: Kalle Valo <hidden>
Date: 2012-08-20 07:25:01

On 08/19/2012 12:25 AM, Julia Lawall wrote:
From: Julia Lawall <redacted>

The result of one call to a function is tested, and then at the second call
to the same function, the previous result, and not the current result, is
tested again.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression ret;
identifier f;
statement S1,S2;
@@

*ret = f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S1
... when any
*f(...);
if (\(ret != 0\|ret < 0\|ret == NULL\)) S2
// </smpl>

Signed-off-by: Julia Lawall <redacted>
Thanks, but this was already fixed in ath6kl.git by this commit:

commit 3206209f231062170f060fdbae38faacff86ddbf
Author: Pandiyarajan Pitchaimuthu [off-list ref]
Date:   Wed Jul 11 12:51:43 2012 +0530

    ath6kl: Make use of return value from ath6kl_diag_read()

    In ath6kl_read_fwlogs(), return value from ath6kl_diag_read()is not
    used to bail out in case of any errors in reading fw log. No real issue
    is observed because of this, reported by source code analyzer.

    kvalo: fix a long line warning

    Signed-off-by: Pandiyarajan Pitchaimuthu [off-list ref]
    Signed-off-by: Kalle Valo [off-list ref]

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