libertas: do not queue assoc work during device shutdown

Marcelo Tosatti mtosatti at redhat.unroutablecom
Mon Dec 11 15:18:31 EST 2006


Commit:     0de0a9e7e107cc3967b92adcdc9c8bf77d79cd8a
Parent:     90767ae12e4213204b2697d1a9cacad8aeb97151
commit 0de0a9e7e107cc3967b92adcdc9c8bf77d79cd8a
Author:     Marcelo Tosatti <mtosatti at redhat.com>
AuthorDate: Mon Dec 11 02:45:24 2006 -0200
Commit:     Marcelo Tosatti <mtosatti at redhat.com>
CommitDate: Mon Dec 11 02:45:24 2006 -0200

    libertas: do not queue assoc work during device shutdown
    
    Subject says it all... was causing timers to barf after rmmod due
    to schedule work called after the workqueue was destroyed.
    
    Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
---
 drivers/net/wireless/libertas/wlan_assoc.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/libertas/wlan_assoc.h b/drivers/net/wireless/libertas/wlan_assoc.h
index 1c2ca1e..9f42eb2 100644
--- a/drivers/net/wireless/libertas/wlan_assoc.h
+++ b/drivers/net/wireless/libertas/wlan_assoc.h
@@ -27,6 +27,8 @@ struct assoc_request * wlan_get_associat
 #define ASSOC_DELAY (HZ / 2)
 static inline void wlan_postpone_association_work(wlan_private *priv)
 {
+	if (priv->adapter->SurpriseRemoved)
+		return;
 	cancel_delayed_work(&priv->assoc_work);
 	queue_delayed_work(priv->assoc_thread, &priv->assoc_work, ASSOC_DELAY);
 }


More information about the Commits-kernel mailing list