2006-03-09 23:06:48

by Adrian Bunk

[permalink] [raw]
Subject: [RFC: 2.6 patch] hostap_hw.c:hfa384x_set_rid(): fix error handling

The Coverity checker noted that the call to prism2_hw_reset() was dead
code.

Does this patch change the code to what was intended?


Signed-off-by: Adrian Bunk <[email protected]>

--- linux-2.6.16-rc5-mm3-full/drivers/net/wireless/hostap/hostap_hw.c.old 2006-03-09 23:28:30.000000000 +0100
+++ linux-2.6.16-rc5-mm3-full/drivers/net/wireless/hostap/hostap_hw.c 2006-03-09 23:30:19.000000000 +0100
@@ -928,16 +928,16 @@ static int hfa384x_set_rid(struct net_de

res = hfa384x_cmd(dev, HFA384X_CMDCODE_ACCESS_WRITE, rid, NULL, NULL);
up(&local->rid_bap_sem);
+
if (res) {
+ if (res == -ETIMEDOUT)
+ prism2_hw_reset(dev);
+
printk(KERN_DEBUG "%s: hfa384x_set_rid: CMDCODE_ACCESS_WRITE "
"failed (res=%d, rid=%04x, len=%d)\n",
dev->name, res, rid, len);
- return res;
}

- if (res == -ETIMEDOUT)
- prism2_hw_reset(dev);
-
return res;
}



2006-03-13 01:18:48

by Jouni Malinen

[permalink] [raw]
Subject: Re: [RFC: 2.6 patch] hostap_hw.c:hfa384x_set_rid(): fix error handling

On Fri, Mar 10, 2006 at 12:06:46AM +0100, Adrian Bunk wrote:

> The Coverity checker noted that the call to prism2_hw_reset() was dead
> code.
>
> Does this patch change the code to what was intended?

Thanks! Based on my CVS history, it looks like this was broken in 2002
when the access command was moved from another function and verification
of -ETIMEDOUT value was not moved correctly. The original behavior would
be achieved by changing your patch to call printk first before the moved
prism2_hw_reset(dev) call. I added this (with the re-ordered printk) to
my queue for wireless-2.6.

--
Jouni Malinen PGP id EFC895FA