freebsd-nq/sys/dev/ath
Dimitry Andric 46fb42dc9d Fix shift overflow problem in sys/dev/ath/ath_hal/ar5210/ar5210_power.c
and sys/dev/ath/ath_hal/ar5211/ar5211_power.c:

sys/dev/ath/ath_hal/ar5210/ar5210_power.c:36:3: warning: signed shift result (0x200000000) requires 35 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
                OS_REG_RMW_FIELD(ah, AR_SCR, AR_SCR_SLE, AR_SCR_SLE_ALLOW);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sys/dev/ath/ath_hal/ah_internal.h:472:42: note: expanded from:
                (OS_REG_READ(_a, _r) &~ (_f)) | (((_v) << _f##_S) & (_f)))
                                                       ^
sys/dev/ath/ah_osdep.h:127:49: note: expanded from:
            (bus_space_handle_t)(_ah)->ah_sh, (_reg), (_val))
                                                       ^~~~

The AR_SCR_SLE_{WAKE,SLP,NORM} values are pre-shifted in ar5210reg.h and
ar5211reg.h, while they should be unshifted, like in ar5212reg.h.  Then,
when the OS_REG_RMW_FIELD() macro shifts them again, the values will
overflow, becoming effectively zero.

MFC after: 1 week
2011-12-21 17:16:43 +00:00
..
ath_dfs/null
ath_hal Fix shift overflow problem in sys/dev/ath/ath_hal/ar5210/ar5210_power.c 2011-12-21 17:16:43 +00:00
ath_rate
ah_osdep.c
ah_osdep.h
if_ath_ahb.c
if_ath_debug.c
if_ath_debug.h
if_ath_keycache.c
if_ath_keycache.h
if_ath_misc.h
if_ath_pci.c
if_ath_sysctl.c Flesh out the TX aggregation completion statistics. 2011-11-23 05:00:25 +00:00
if_ath_sysctl.h
if_ath_tx_ht.c
if_ath_tx_ht.h
if_ath_tx.c Flesh out the TX aggregation completion statistics. 2011-11-23 05:00:25 +00:00
if_ath_tx.h
if_ath.c Fix some net80211 enum nits: 2011-12-17 10:23:17 +00:00
if_athdfs.h
if_athioctl.h Flesh out the TX aggregation completion statistics. 2011-11-23 05:00:25 +00:00
if_athrate.h
if_athvar.h