[rt2x00-users] [PATCH] rt2x00: rt2800usb: fix status register reread logic

Gertjan van Wingerde gwingerde at gmail.com
Tue Mar 20 15:11:47 EST 2012


On 03/19/12 15:59, Stanislaw Gruszka wrote:
> Another good catch from Jakub Kicinski. This patch fixes my
> recent commit: ed61e2b02027935520d1be884fac0b2ffce8379a
> "rt2x00: rt2800usb: rework txdone code"
> 
> We should reread status register only when nobody else start already
> reading status i.e. test_and_set_bit(TX_STATUS_READING, flags) return 0.
> 
> Reported-by: Jakub Kicinski <moorray at wp.pl>
> Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>

Acked-by: Gertjan van Wingerde <gwingerde at gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2800usb.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
> index f97f846..001735f 100644
> --- a/drivers/net/wireless/rt2x00/rt2800usb.c
> +++ b/drivers/net/wireless/rt2x00/rt2800usb.c
> @@ -184,7 +184,7 @@ stop_reading:
>  	 * here again if status reading is needed.
>  	 */
>  	if (rt2800usb_txstatus_pending(rt2x00dev) &&
> -	    test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags))
> +	    !test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags))
>  		return true;
>  	else
>  		return false;


-- 
---
Gertjan



More information about the users mailing list