ath9k: Fix TX poll cancelling
PATCH 1/1 ath9k: Fix TX poll cancelling
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 <[email protected]>
--- drivers/net/wireless/ath/ath9k/main.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
drivers/net/wireless/ath/ath9k/main.c +3 -4
@@ -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 */
Signature · 1 line
1.6.4