rt2x00: Fix txdone_entry_desc_flags
PATCH 1/1 rt2x00: Fix txdone_entry_desc_flags
txdone_entry_desc_flags is used with __set_bit and test_bit which bit-shift the values, so don't bit-shift the flags in the enum. Also make sure flags are initialized before being used.
Signed-off-by Jochen Friedrich <[email protected]>
--- drivers/net/wireless/rt2x00/rt2x00queue.h | 8 ++++---- drivers/net/wireless/rt2x00/rt2x00usb.c | 1 + 2 files changed, 5 insertions(+), 4 deletions(-)
drivers/net/wireless/rt2x00/rt2x00queue.h +4 -4
@@ -191,10 +191,10 @@ struct rxdone_entry_desc {* frame transmission failed due to excessive retries. */ enum txdone_entry_desc_flags { -TXDONE_UNKNOWN =1 <<0 , -TXDONE_SUCCESS =1 <<1 , -TXDONE_FAILURE =1 <<2 , -TXDONE_EXCESSIVE_RETRY =1 <<3 , +TXDONE_UNKNOWN , +TXDONE_SUCCESS , +TXDONE_FAILURE , +TXDONE_EXCESSIVE_RETRY , };/**
drivers/net/wireless/rt2x00/rt2x00usb.c +1 -0
@@ -181,6 +181,7 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb)* (Only indirectly by looking at the failed TX counters * in the register). */ + txdesc.flags =0 ;if (!urb->status)__set_bit (TXDONE_UNKNOWN , &txdesc.flags);else
Signature · 1 line
1.5.6.3
Ivo van Doorn
AppliedQuoted 3 lines · Jochen Friedrich
txdone_entry_desc_flagsis used with__set_bitandtest_bitwhich bit-shift the values, so don't bit-shift the flags in the enum. Also make sure flags are initialized before being used.
Good catch,
Applied to rt2x00.git
Thanks,
Ivo
Quoted 37 lines
Signed-off-by Jochen Friedrich <[email protected]>--- drivers/net/wireless/rt2x00/rt2x00queue.h | 8 ++++---- drivers/net/wireless/rt2x00/rt2x00usb.c | 1 + 2 files changed, 5 insertions(+), 4 deletions(-)drivers/net/wireless/rt2x00/rt2x00queue.h +4
-4@@ -191,10 +191,10 @@ struct rxdone_entry_desc {* frame transmission failed due to excessive retries. */ enum txdone_entry_desc_flags { -TXDONE_UNKNOWN =1 <<0 , -TXDONE_SUCCESS =1 <<1 , -TXDONE_FAILURE =1 <<2 , -TXDONE_EXCESSIVE_RETRY =1 <<3 , +TXDONE_UNKNOWN , +TXDONE_SUCCESS , +TXDONE_FAILURE , +TXDONE_EXCESSIVE_RETRY , };/** drivers/net/wireless/rt2x00/rt2x00usb.c +1
-0@@ -181,6 +181,7 @@ static void rt2x00usb_interrupt_txdone(struct urb *urb)* (Only indirectly by looking at the failed TX counters * in the register). */ + txdesc.flags =0 ;if (!urb->status)__set_bit (TXDONE_UNKNOWN , &txdesc.flags);else