diff options
| author | Ivo van Doorn <[email protected]> | 2011-01-30 13:23:42 +0100 |
|---|---|---|
| committer | John W. Linville <[email protected]> | 2011-01-31 15:06:25 -0500 |
| commit | e1f4e808bb7a884d6563553c2c94cbdd901a16c7 (patch) | |
| tree | 154b1ed060f6b475adce7df2f29065dcbca0c14d | |
| parent | a0aff623ca8bc8779e6c3a394772d70d8a65dee9 (diff) | |
rt2x00: Kill all tasklets during device removal
During device removal all pending work and tasklets must
be guaranteed to be halted. So far only the txstatus_tasklet
was killed.
Signed-off-by: Ivo van Doorn <[email protected]>
Acked-by: Helmut Schaa <[email protected]>
Acked-by: Gertjan van Wingerde <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 5812a4e05c7f..e7162852ec34 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -1067,6 +1067,10 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev) * Kill the tx status tasklet. */ tasklet_kill(&rt2x00dev->txstatus_tasklet); + tasklet_kill(&rt2x00dev->pretbtt_tasklet); + tasklet_kill(&rt2x00dev->tbtt_tasklet); + tasklet_kill(&rt2x00dev->rxdone_tasklet); + tasklet_kill(&rt2x00dev->autowake_tasklet); /* * Uninitialize device. |