twx-linux/drivers/net
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
4ba7d9997869d25bd223dea7536fc1ce9fab3b3b "rt2800pci: handle spurious
interrupts", but it was reverted in commit
82e5fc2a34fa9ffea38f00c4066b7e600a0ca5e6
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
..
appletalk
arcnet
bonding bond_alb: don't disable softirq under bond_alb_xmit 2012-01-11 12:52:26 -08:00
caif module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00
can clock management changes for i.MX 2012-01-09 14:44:15 -08:00
cris
dsa
ethernet net: fsl: fec: handle 10Mbps speed in RMII mode 2012-01-12 20:05:28 -08:00
fddi
hamradio
hippi
hyperv net/hyperv: Add support for jumbo frame up to 64KB 2012-01-04 16:13:05 -08:00
irda Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
phy dp83640: Fix NOHZ local_softirq_pending 08 warning 2012-01-12 15:26:01 -08:00
plip
ppp pptp: Accept packet with seq zero 2012-01-12 20:05:28 -08:00
slip
team
tokenring
usb asix: fix setting custom MAC address on Asix 88178 devices 2012-01-10 14:59:48 -08:00
vmxnet3 vmxnet3" make ethtool ops const 2012-01-05 13:23:00 -05:00
wan module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00
wimax Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
wireless rt2800pci: fix spurious interrupts generation 2012-01-13 14:40:57 -05:00
xen-netback Merge branch 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2012-01-10 10:09:59 -08:00
dummy.c
eql.c
ifb.c
Kconfig Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
LICENSE.SRC
loopback.c
macvlan.c
macvtap.c macvtap: Fix macvtap_get_queue to use rxhash first 2011-12-20 13:45:55 -05:00
Makefile Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging 2012-01-09 12:18:17 -08:00
mdio.c
mii.c
netconsole.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c
veth.c
virtio_net.c virtio: net: Add freeze, restore handlers to support S4 2012-01-12 15:44:46 +10:30
xen-netfront.c Merge branch 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2012-01-10 10:09:59 -08:00