diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2011-07-11 14:15:48 +0200 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2011-07-11 14:15:55 +0200 |
| commit | b7e9c223be8ce335e30f2cf6ba588e6a4092275c (patch) | |
| tree | 2d1e3b75606abc18df7ad65e51ac3f90cd68b38d /drivers/net/wireless/rt2x00/rt2x00dev.c | |
| parent | c172d82500a6cf3c32d1e650722a1055d72ce858 (diff) | |
| parent | e3bbfa78bab125f58b831b5f7f45b5a305091d72 (diff) | |
| download | olio-linux-3.10-b7e9c223be8ce335e30f2cf6ba588e6a4092275c.tar.xz olio-linux-3.10-b7e9c223be8ce335e30f2cf6ba588e6a4092275c.zip | |
Merge branch 'master' into for-next
Sync with Linus' tree to be able to apply pending patches that
are based on newer code already present upstream.
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
| -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 c018d67aab8..939821b4af2 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -146,6 +146,9 @@ static void rt2x00lib_autowakeup(struct work_struct *work) struct rt2x00_dev *rt2x00dev = container_of(work, struct rt2x00_dev, autowakeup_work.work); + if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags)) + return; + if (rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_AWAKE)) ERROR(rt2x00dev, "Device failed to wakeup.\n"); clear_bit(CONFIG_POWERSAVING, &rt2x00dev->flags); @@ -1160,6 +1163,7 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev) * Stop all work. */ cancel_work_sync(&rt2x00dev->intf_work); + cancel_delayed_work_sync(&rt2x00dev->autowakeup_work); if (rt2x00_is_usb(rt2x00dev)) { del_timer_sync(&rt2x00dev->txstatus_timer); cancel_work_sync(&rt2x00dev->rxdone_work); |