Stanislaw Gruszka
dfd00c4c8f
rt2800pci: fix spurious interrupts generation
...
Same devices can generate interrupt without properly setting bit in
INT_SOURCE_CSR register (spurious interrupt), what will cause IRQ line
will be disabled by interrupts controller driver.
We discovered that clearing INT_MASK_CSR stops such behaviour. We
previously first read that register, and then clear all know interrupt
sources bits and do not touch reserved bits. After this patch, we write
to all register content (I believe writing to reserved bits on that
register will not cause any problems, I tested that on my rt2800pci
device).
This fix very bad performance problem, practically making device
unusable (since worked without interrupts), reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=658451
We previously tried to workaround that issue in commit
4ba7d99978 "rt2800pci: handle spurious
interrupts", but it was reverted in commit
82e5fc2a34
as thing, that will prevent to detect real spurious interrupts.
Reported-and-tested-by: Amir Hedayaty <hedayaty@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-01-13 14:40:57 -05:00
..
accessibility
acpi
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2012-01-11 18:50:26 -08:00
amba
Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
2012-01-08 13:10:57 -08:00
ata
Merge branch 'upstream-linus' of git://github.com/jgarzik/libata-dev
2012-01-10 10:19:17 -08:00
atm
auxdisplay
base
kdump: add udev events for memory online/offline
2012-01-12 20:13:11 -08:00
bcma
bcma: extract revision and TX power IDs from SPROM
2011-12-13 15:47:41 -05:00
block
virtio: blk: Add freeze, restore handlers to support S4
2012-01-12 15:44:45 +10:30
bluetooth
Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
2012-01-08 13:10:57 -08:00
cdrom
fs: move code out of buffer.c
2012-01-03 22:54:07 -05:00
char
Merge branch 'akpm' (aka "Andrew's patch-bomb, take two")
2012-01-12 20:42:54 -08:00
clk
clk: add config option HAVE_CLK_PREPARE into Kconfig
2011-12-28 21:35:06 +08:00
clocksource
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
2012-01-06 18:15:25 -08:00
connector
cpufreq
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
2012-01-11 18:53:33 -08:00
cpuidle
cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem
2011-12-21 14:29:42 -08:00
crypto
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2012-01-10 22:01:27 -08:00
dca
devfreq
Merge branch 'devfreq-for-next' of git://git.infradead.org/users/kmpark/linux-samsung into pm-devfreq
2011-12-21 09:51:23 +01:00
dio
dma
clock management changes for i.MX
2012-01-09 14:44:15 -08:00
edac
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-01-08 13:21:22 -08:00
eisa
firewire
firmware
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
2012-01-12 08:00:30 -08:00
gpio
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
2012-01-10 10:19:57 -08:00
gpu
Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
2012-01-10 11:04:36 -08:00
hid
Merge git://git.infradead.org/battery-2.6
2012-01-11 18:53:05 -08:00
hv
Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
2012-01-09 12:09:47 -08:00
hwmon
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
2012-01-08 13:39:24 -08:00
hwspinlock
i2c
Merge branch 'unicore32' of git://github.com/gxt/linux
2012-01-10 17:37:20 -08:00
ide
idle
ieee802154
infiniband
infiniband changes for 3.3 merge window
2012-01-08 14:05:48 -08:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2012-01-12 12:40:41 -08:00
iommu
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
2012-01-10 11:08:21 -08:00
isdn
drivers: isdn: Fix dependency for ISDN_PPP
2012-01-10 14:57:20 -08:00
leds
leds: convert wm8350 driver to devm_kzalloc()
2012-01-10 16:30:49 -08:00
lguest
lguest: Make sure interrupt is allocated ok by lguest_setup_irq
2012-01-12 15:44:47 +10:30
macintosh
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
mca
md
Two bugfixes for md.
2012-01-11 18:51:55 -08:00
media
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
2012-01-10 11:08:21 -08:00
memstick
message
SCSI updates for post 3.2 merge window
2012-01-10 10:36:08 -08:00
mfd
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
2012-01-12 08:00:30 -08:00
misc
Merge branch 'char-misc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
2012-01-09 12:08:59 -08:00
mmc
clock management changes for i.MX
2012-01-09 14:44:15 -08:00
mtd
kexec: remove KMSG_DUMP_KEXEC
2012-01-12 20:13:11 -08:00
net
rt2800pci: fix spurious interrupts generation
2012-01-13 14:40:57 -05:00
nfc
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
nubus
of
of: add include asm/setup.h in drivers/of/fdt.c
2012-01-10 10:29:41 +08:00
oprofile
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-01-06 08:02:58 -08:00
parisc
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2012-01-11 18:50:26 -08:00
parport
drivers/parport/parport_pc.c: fix warnings
2012-01-12 20:13:12 -08:00
pci
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2012-01-11 18:50:26 -08:00
pcmcia
pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
2011-12-28 10:14:04 +00:00
pinctrl
pinctrl: remove unnecessary max pin number
2012-01-03 09:10:09 +01:00
platform
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-01-11 19:13:40 -08:00
pnp
PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB
2012-01-06 12:11:20 -08:00
power
Merge git://git.infradead.org/battery-2.6
2012-01-11 18:53:05 -08:00
pps
ps3
ptp
rapidio
regulator
regulator: set constraints.apply_uV to 0 in of_get_fixed_voltage_config
2012-01-06 11:01:09 -08:00
rtc
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-01-11 19:13:40 -08:00
s390
virtio: harsher barriers for rpmsg.
2012-01-12 15:44:42 +10:30
sbus
scsi
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2012-01-11 18:50:26 -08:00
sfi
sh
SH/R-Mobile updates for 3.3 merge window.
2012-01-11 23:29:20 -08:00
sn
spi
Cleanups for the Samsung platforms
2012-01-09 14:30:28 -08:00
ssb
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2011-12-14 14:35:41 -05:00
staging
Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
2012-01-10 11:04:36 -08:00
target
tc
telephony
thermal
tty
SH/R-Mobile updates for 3.3 merge window.
2012-01-11 23:29:20 -08:00
uio
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
2012-01-11 18:50:26 -08:00
usb
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2012-01-10 10:48:28 -08:00
uwb
Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
2012-01-09 12:09:47 -08:00
vhost
video
drivers/video/nvidia/nvidia.c: fix warning
2012-01-12 20:13:03 -08:00
virt
virtio
virtio: balloon: Add freeze, restore handlers to support S4
2012-01-12 15:44:47 +10:30
vlynq
w1
w1: add fast search for single slave bus
2011-12-09 19:19:18 -08:00
watchdog
Merge git://www.linux-watchdog.org/linux-watchdog
2012-01-10 10:29:23 -08:00
xen
Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
2012-01-10 11:04:36 -08:00
zorro
misc latin1 to utf8 conversions
2012-01-02 13:04:55 +01:00
Kconfig
Makefile