aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2800pci.c
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2011-01-30 13:18:13 +0100
committerJohn W. Linville <linville@tuxdriver.com>2011-01-31 15:06:23 -0500
commitc8e15a1e2c93880160f31ed2e6b02c1322f7f48d (patch)
tree2019999e956bfe9b6edd4ac1e84c855fbbd8db94 /drivers/net/wireless/rt2x00/rt2800pci.c
parentc5c65761839e3d85cc620cc1c85db8d4a7173f53 (diff)
downloadkernel_samsung_smdk4412-c8e15a1e2c93880160f31ed2e6b02c1322f7f48d.zip
kernel_samsung_smdk4412-c8e15a1e2c93880160f31ed2e6b02c1322f7f48d.tar.gz
kernel_samsung_smdk4412-c8e15a1e2c93880160f31ed2e6b02c1322f7f48d.tar.bz2
rt2x00: Disable txstatus tasklet by default
Enable the txstatus tasklet when interrupts are enabled and disable it together with the interrupts. Also make the txstatus tasklet useful even without the tx status FIFO and make use of the generic rt2x00 tasklet initialization macro. 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>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800pci.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2800pci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 54e37e0..e4d97ad 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -416,7 +416,10 @@ static void rt2800pci_toggle_irq(struct rt2x00_dev *rt2x00dev,
if (state == STATE_RADIO_IRQ_ON) {
rt2800_register_read(rt2x00dev, INT_SOURCE_CSR, &reg);
rt2800_register_write(rt2x00dev, INT_SOURCE_CSR, reg);
- }
+
+ tasklet_enable(&rt2x00dev->txstatus_tasklet);
+ } else if (state == STATE_RADIO_IRQ_OFF)
+ tasklet_disable(&rt2x00dev->txstatus_tasklet);
rt2800_register_read(rt2x00dev, INT_MASK_CSR, &reg);
rt2x00_set_field32(&reg, INT_MASK_CSR_RXDELAYINT, 0);