rt2x00: Convert rt2400pci interrupt handling to use tasklets
authorHelmut Schaa <helmut.schaa@googlemail.com>
Sun, 30 Jan 2011 12:20:05 +0000 (13:20 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 31 Jan 2011 20:06:23 +0000 (15:06 -0500)
commitbcf3cfd047d599cd0e6758c422bd7a4835c00d4a
tree4d65eb070e5b5e70d6494816c5b147017936b69f
parent16222a0d06f5032d7e8bc7c65e8bf299e21f413a
rt2x00: Convert rt2400pci interrupt handling to use tasklets

Fix interrupt processing on slow machines by using individual tasklets
for each different device interrupt. This ensures that while a RX or TX
status tasklet is scheduled only the according device interrupt is
masked and other interrupts such as TBTT can still be processed.

Also, this allows us to use tasklet_hi_schedule for TBTT processing
which is required to not send out beacons with a wrong DTIM count (due
to delayed periodic beacon updates). Furthermore, this improves the
latency between the TBTT and sending out buffered multi- and broadcast
traffic.

As a nice bonus, the interrupt handling overhead should be much lower.

Compile-tested only.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2400pci.c