rt2x00: Convert rt2500pci interrupt handling to use tasklets
authorHelmut Schaa <helmut.schaa@googlemail.com>
Sun, 30 Jan 2011 12:19:37 +0000 (13:19 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 31 Jan 2011 20:06:23 +0000 (15:06 -0500)
commit16222a0d06f5032d7e8bc7c65e8bf299e21f413a
treec3d7592fe6ddc199d4885e18bd60e0db5a1a3fc6
parent5846a550b5838ea7fe8e280caff159a5ddb5c7e1
rt2x00: Convert rt2500pci 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/rt2500pci.c