projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bcd64e0
)
ath9k: Fix TX poll cancelling
author
Sujith
<Sujith.Manoharan@atheros.com>
Tue, 18 Aug 2009 05:21:52 +0000
(10:51 +0530)
committer
John W. Linville
<linville@tuxdriver.com>
Thu, 20 Aug 2009 15:36:03 +0000
(11:36 -0400)
In ath9k_stop(), tx_complete_work was being cancelled twice.
This patch fixes it. Also, locking sc->mutex should be done
at the beginning.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/ath/ath9k/main.c
b/drivers/net/wireless/ath/ath9k/main.c
index 2f9c149fd481ecfce62e0ac1e6e13ad4ea73807b..fddda206def2f539ba5b699594e00222e2290a86 100644
(file)
--- a/
drivers/net/wireless/ath/ath9k/main.c
+++ b/
drivers/net/wireless/ath/ath9k/main.c
@@
-2105,6
+2105,8
@@
static void ath9k_stop(struct ieee80211_hw *hw)
struct ath_wiphy *aphy = hw->priv;
struct ath_softc *sc = aphy->sc;
+ mutex_lock(&sc->mutex);
+
aphy->state = ATH_WIPHY_INACTIVE;
cancel_delayed_work_sync(&sc->ath_led_blink_work);
@@
-2117,13
+2119,10
@@
static void ath9k_stop(struct ieee80211_hw *hw)
if (sc->sc_flags & SC_OP_INVALID) {
DPRINTF(sc, ATH_DBG_ANY, "Device not present\n");
+ mutex_unlock(&sc->mutex);
return;
}
- mutex_lock(&sc->mutex);
-
- cancel_delayed_work_sync(&sc->tx_complete_work);
-
if (ath9k_wiphy_started(sc)) {
mutex_unlock(&sc->mutex);
return; /* another wiphy still in use */