From 05b15a84292589aa78159163a8d64b832c008c06 Mon Sep 17 00:00:00 2001 From: Jason Andryuk Date: Sat, 21 Feb 2009 09:53:29 +0200 Subject: [PATCH] --- yaml --- r: 134945 b: refs/heads/master c: 1cc198fee9eb60d9dddbdcb6f32a6e36e5136769 h: refs/heads/master i: 134943: 3a14e98b621c862948a106770160e25a62ed869d v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/at76c50x-usb.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 3efaf78b1323..4e885cd9a3ea 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5a2137ddcc4b4d0d9227db433eabaefa3c3bd924 +refs/heads/master: 1cc198fee9eb60d9dddbdcb6f32a6e36e5136769 diff --git a/trunk/drivers/net/wireless/at76c50x-usb.c b/trunk/drivers/net/wireless/at76c50x-usb.c index 46ac9e278035..64d4192b5d52 100644 --- a/trunk/drivers/net/wireless/at76c50x-usb.c +++ b/trunk/drivers/net/wireless/at76c50x-usb.c @@ -1497,6 +1497,9 @@ static void at76_work_set_promisc(struct work_struct *work) work_set_promisc); int ret = 0; + if (priv->device_unplugged) + return; + mutex_lock(&priv->mtx); priv->mib_buf.type = MIB_LOCAL; @@ -2290,6 +2293,7 @@ static void at76_delete_device(struct at76_priv *priv) tasklet_kill(&priv->rx_tasklet); if (priv->mac80211_registered) { + cancel_delayed_work(&priv->dwork_hw_scan); flush_workqueue(priv->hw->workqueue); ieee80211_unregister_hw(priv->hw); } @@ -2307,6 +2311,8 @@ static void at76_delete_device(struct at76_priv *priv) kfree(priv->bulk_out_buffer); + del_timer_sync(&ledtrig_tx_timer); + if (priv->rx_skb) kfree_skb(priv->rx_skb);