rt2x00: Fix rt2500usb HW crypto: WEP 128 & AES
authorIvo van Doorn <ivdoorn@gmail.com>
Sat, 3 Jan 2009 15:27:14 +0000 (16:27 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 12 Jan 2009 19:24:57 +0000 (14:24 -0500)
commitf1dd2b23badfe8a28910a78be24452c627c4b6f2
tree734c2e61b2506366644e8a572592d7c5dd8d6d8d
parentb973c31a925c6753d84a100673f6b25546ec8b34
rt2x00: Fix rt2500usb HW crypto: WEP 128 & AES

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: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2500usb.c