ath9k: always call ath_reset from workqueue context
[pandora-kernel.git] / drivers / net / wireless / ath / ath9k / beacon.c
index 0c757c9..22e8e25 100644 (file)
@@ -386,9 +386,7 @@ void ath_beacon_tasklet(unsigned long data)
                        ath_dbg(common, ATH_DBG_BSTUCK,
                                "beacon is officially stuck\n");
                        sc->sc_flags |= SC_OP_TSF_RESET;
-                       spin_lock(&sc->sc_pcu_lock);
-                       ath_reset(sc, true);
-                       spin_unlock(&sc->sc_pcu_lock);
+                       ieee80211_queue_work(sc->hw, &sc->hw_reset_work);
                }
 
                return;