Re: [PATCH] wireless, airo: waitbusy() won't delay

From: Dan Williams
Date: Tue May 13 2008 - 17:47:52 EST


On Tue, 2008-05-13 at 22:12 +0200, Roel Kluin wrote:
> There will be no delay even when COMMAND_BUSY (defined 0x8000) is set:
> 0x8000 & (delay < 10000) will evaluate to 0 - when delay is 0.
>
> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>

Good catch.

Acked-by: Dan Williams <dcbw@xxxxxxxxxx>

> ---
> diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
> index 45f47c1..efb7444 100644
> --- a/drivers/net/wireless/airo.c
> +++ b/drivers/net/wireless/airo.c
> @@ -2904,7 +2904,7 @@ EXPORT_SYMBOL(init_airo_card);
>
> static int waitbusy (struct airo_info *ai) {
> int delay = 0;
> - while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) & (delay < 10000)) {
> + while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) && (delay < 10000)) {
> udelay (10);
> if ((++delay % 20) == 0)
> OUT4500(ai, EVACK, EV_CLEARCOMMANDBUSY);
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/