ath9k_hw: fix endian issues with CTLs on AR9003
authorFelix Fietkau <nbd@openwrt.org>
Wed, 1 Dec 2010 18:07:46 +0000 (19:07 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 2 Dec 2010 19:10:33 +0000 (14:10 -0500)
commite702ba18f25887c76d26c8a85cc1706463c62e9a
tree52fd746e1824862d47aae14077cea506ec6678a3
parent9306990a656d9cfd8bf3586938012729c1f2ea50
ath9k_hw: fix endian issues with CTLs on AR9003

Parsing data using bitfields is messy, because it makes endian handling
much harder. AR9002 and earlier got it right, AR9003 got it wrong.
This might lead to either using too high or too low tx power values,
depending on frequency and eeprom settings.
Fix it by getting rid of the CTL related bitfields entirely and use
masks instead.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
drivers/net/wireless/ath/ath9k/eeprom.c
drivers/net/wireless/ath/ath9k/eeprom.h