Johannes Berg
b49ba04a3a
iwlwifi: fix PCI-E transport "inta" race
...
When an interrupt comes in, we read the reason
bits and collect them into "trans_pcie->inta".
This happens with the spinlock held. However,
there's a bug resetting this variable -- that
happens after the spinlock has been released.
This means that it is possible for interrupts
to be missed if the reset happens after some
other interrupt reasons were already added to
the variable.
I found this by code inspection, looking for a
reason that we sometimes see random commands
time out. It seems possible that this causes
such behaviour, but I can't say for sure right
now since it happens extremely infrequently on
my test systems.
Cc: stable@vger.kernel.org [3.2]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-01-24 14:47:10 -05:00
..
ath
ath9k_hw: fix interpretation of the rx KeyMiss flag
2012-01-16 15:01:15 -05:00
b43
b43: add option to avoid duplicating device support with brcmsmac
2012-01-18 14:49:47 -05:00
b43legacy
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-01-05 10:13:24 -05:00
brcm80211
brcmsmac: fix tx queue flush infinite loop
2012-01-18 14:38:05 -05:00
hostap
hostap_cs: add ID for Canon K30225
2011-11-28 14:44:00 -05:00
ipw2x00
ipw2x00: signedness bug handling frame length
2012-01-13 14:40:56 -05:00
iwlegacy
iwlegacy: 3945: fix hw passive scan on radar channels
2012-01-04 14:30:45 -05:00
iwlwifi
iwlwifi: fix PCI-E transport "inta" race
2012-01-24 14:47:10 -05:00
iwmc3200wifi
module_param: make bool parameters really bool (net & drivers/net)
2011-12-19 22:27:29 -05:00
libertas
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2012-01-08 12:19:57 -08:00
libertas_tf
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
2012-01-07 12:03:30 -08:00
mwifiex
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-01-04 21:35:43 -05:00
orinoco
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
2012-01-07 12:03:30 -08:00
p54
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
2012-01-07 12:03:30 -08:00
prism54
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2011-12-02 15:44:03 -05:00
rt2x00
rt2800pci: fix spurious interrupts generation
2012-01-13 14:40:57 -05:00
rtl818x
USB: convert drivers/net/* to use module_usb_driver()
2011-11-18 09:44:20 -08:00
rtlwifi
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2012-01-12 12:10:00 -08:00
wl12xx
wl12xx: mark no sched scan only after FW event
2011-12-20 22:30:16 +02:00
wl1251
wireless: Remove redundant spi driver bus initialization
2011-11-28 14:43:58 -05:00
zd1211rw
drivers/net: Add module.h to drivers who were implicitly using it
2011-10-31 19:31:07 -04:00
adm8211.c
drivers/net: Add module.h to drivers who were implicitly using it
2011-10-31 19:31:07 -04:00
adm8211.h
airo.c
airo: Fix array bounds warning when moving packet payload.
2011-11-26 15:35:10 -05:00
airo.h
airo_cs.c
at76c50x-usb.c
wireless: at76c50x: follow rename pack_hex_byte to hex_byte_pack
2011-10-31 17:30:57 -07:00
at76c50x-usb.h
atmel.c
atmel.h
atmel_cs.c
atmel_pci.c
Kconfig
net: wireless: add brcm80211 drivers
2011-10-11 15:55:30 -04:00
mac80211_hwsim.c
net: fix assignment of 0/1 to bool variables.
2011-12-19 22:27:29 -05:00
mac80211_hwsim.h
Makefile
iwlegacy: rename remaining IWLs to ILs
2011-11-15 11:25:42 +01:00
mwl8k.c
mwl8k: Fixing Sparse ENDIAN CHECK warning
2012-01-17 10:12:27 -05:00
ray_cs.c
ray_cs: Fix array bounds warnings.
2011-11-26 15:41:29 -05:00
ray_cs.h
rayctl.h
ray_cs: Fix array bounds warnings.
2011-11-26 15:41:29 -05:00
rndis_wlan.c
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
2012-01-07 12:03:30 -08:00
wl3501.h
wl3501_cs.c
wl3501_cs: min_t() cast truncates high bits
2011-09-27 14:36:04 -04:00
zd1201.c
USB: convert drivers/net/* to use module_usb_driver()
2011-11-18 09:44:20 -08:00
zd1201.h