ath9k: Fix crash in MCC mode
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Tue, 7 Oct 2014 04:44:37 +0000 (10:14 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 7 Oct 2014 18:48:37 +0000 (14:48 -0400)
When a channel context is removed, the hw_queue_base
is set to -1, this will result in a panic because
ath9k_chanctx_stop_queues() can be called on an interface
that is not assigned to any context yet - for example,
when trying to scan.

Fix this issue by setting the hw_queue_base to zero
when a channel context is removed.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 205162449b726a135fa7d4b27ab90274e7758ca8..6f6a974f7fdb265960db2098f2c45b9684ffca2b 100644 (file)
@@ -2332,7 +2332,7 @@ static void ath9k_remove_chanctx(struct ieee80211_hw *hw,
                conf->def.chan->center_freq);
 
        ctx->assigned = false;
-       ctx->hw_queue_base = -1;
+       ctx->hw_queue_base = 0;
        ath_chanctx_event(sc, NULL, ATH_CHANCTX_EVENT_UNASSIGN);
 
        mutex_unlock(&sc->mutex);