linux/drivers/net/wireless
Martin Blumenstingl 4bca5303eb ath9k: define all EEPROM fields in Little Endian format
The ar9300_eeprom logic is already using only 8-bit (endian neutral),
__le16 and __le32 fields to state explicitly how the values should be
interpreted.
All other EEPROM implementations (4k, 9287 and def) were using u16 and
u32 fields with additional logic to swap the values (read from the
original EEPROM) so they match the current CPUs endianness.

The EEPROM format defaults to "all values are Little Endian", indicated
by the absence of the AR5416_EEPMISC_BIG_ENDIAN in the u8 EEPMISC
register. If we detect that the EEPROM indicates Big Endian mode
(AR5416_EEPMISC_BIG_ENDIAN is set in the EEPMISC register) then we'll
swap the values to convert them into Little Endian. This is done by
activating the EEPMISC based logic in ath9k_hw_nvram_swap_data even if
AH_NO_EEP_SWAP is set (this makes ath9k behave like the FreeBSD driver,
which also does not have a flag to enable swapping based on the
AR5416_EEPMISC_BIG_ENDIAN bit). Before this logic was only used to
enable swapping when "current CPU endianness != EEPROM endianness".

After changing all relevant fields to __le16 and __le32 sparse was used
to check that all code which reads any of these fields uses
le{16,32}_to_cpu.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-12-15 10:26:42 +02:00
..
admtek adm80211: add checks for dma mapping errors 2016-12-05 13:10:53 +02:00
ath ath9k: define all EEPROM fields in Little Endian format 2016-12-15 10:26:42 +02:00
atmel net: use core MTU range checking in wireless drivers 2016-10-20 14:51:08 -04:00
broadcom wireless-drivers-next patches for 4.10 2016-12-02 13:58:10 -05:00
cisco net: use core MTU range checking in wireless drivers 2016-10-20 14:51:08 -04:00
intel iwlwifi: use reset to set transport header 2016-12-03 15:49:16 -05:00
intersil wireless: fix bogus maybe-uninitialized warning 2016-11-17 08:46:38 +02:00
marvell mwifiex: clean up some messy indenting 2016-12-05 13:10:11 +02:00
mediatek mt7601u: wait for clear rxq when stopping mac 2016-11-29 17:32:32 +02:00
ralink wireless-drivers-next patches for 4.10 2016-11-27 20:26:59 -05:00
realtek wireless-drivers-next patches for 4.10 2016-12-02 13:58:10 -05:00
rsi rsi: Add support for 802.11d 2016-11-25 11:47:36 +02:00
st cw1200: fix bogus maybe-uninitialized warning 2016-11-17 08:47:58 +02:00
ti wireless-drivers-next patches for 4.10 2016-11-27 20:26:59 -05:00
zydas net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
Kconfig wireless: deprecate WDS and disable by default 2016-10-27 09:08:43 +02:00
mac80211_hwsim.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
mac80211_hwsim.h
Makefile
ray_cs.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
ray_cs.h
rayctl.h
rndis_wlan.c
wl3501_cs.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
wl3501.h