• Ivo van Doorn's avatar
    rt2x00: Fix rt2500usb HW crypto: WEP 128 & AES · f1dd2b23
    Ivo van Doorn authored
    The TXD_W0_CIPHER field is a 1-bit field. It only acts as boolean value
    to indicate if the frame must be encrypted or not.
    
    The way rt2x00_set_field32() worked it would grab the least signifcant bit
    from txdesc->cipher and use that as value. Because of that WEP 64 and TKIP
    worked since they had odd-numbered values, while WEP 128 and AES were
    even numbers and didn't work.
    
    Correctly booleanize the txdecs->cipher value to allow the hardware to
    encrypt the outgoing data. After this we can enable HW crypto by default again.
    Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    f1dd2b23
rt2500usb.c 62.6 KB