mirror of https://gitee.com/openkylin/linux.git
ath5k: do not reschedule tx_complete_work on stop
This patch claim to fix "WARNING: at net/mac80211/util.c:599 ieee80211_can_queue_work.isra.7+0x30/0x40", which was reported at: https://bugzilla.redhat.com/show_bug.cgi?id=922295 We use ATH_STAT_STARTED flag to disallow to perform ath5k_tx_complete_poll_work() code, hence reschedule ah->tx_complete_work, when we stop device. This flag was defined in ath5k code, but it was not used. I didn't get feedback if the fix works, so patch is compile only tested. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4ef69d0394
commit
db17834043
|
@ -2369,6 +2369,9 @@ ath5k_tx_complete_poll_work(struct work_struct *work)
|
||||||
int i;
|
int i;
|
||||||
bool needreset = false;
|
bool needreset = false;
|
||||||
|
|
||||||
|
if (!test_bit(ATH_STAT_STARTED, ah->status))
|
||||||
|
return;
|
||||||
|
|
||||||
mutex_lock(&ah->lock);
|
mutex_lock(&ah->lock);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(ah->txqs); i++) {
|
for (i = 0; i < ARRAY_SIZE(ah->txqs); i++) {
|
||||||
|
@ -2676,6 +2679,7 @@ int ath5k_start(struct ieee80211_hw *hw)
|
||||||
mmiowb();
|
mmiowb();
|
||||||
mutex_unlock(&ah->lock);
|
mutex_unlock(&ah->lock);
|
||||||
|
|
||||||
|
set_bit(ATH_STAT_STARTED, ah->status);
|
||||||
ieee80211_queue_delayed_work(ah->hw, &ah->tx_complete_work,
|
ieee80211_queue_delayed_work(ah->hw, &ah->tx_complete_work,
|
||||||
msecs_to_jiffies(ATH5K_TX_COMPLETE_POLL_INT));
|
msecs_to_jiffies(ATH5K_TX_COMPLETE_POLL_INT));
|
||||||
|
|
||||||
|
@ -2737,6 +2741,7 @@ void ath5k_stop(struct ieee80211_hw *hw)
|
||||||
|
|
||||||
ath5k_stop_tasklets(ah);
|
ath5k_stop_tasklets(ah);
|
||||||
|
|
||||||
|
clear_bit(ATH_STAT_STARTED, ah->status);
|
||||||
cancel_delayed_work_sync(&ah->tx_complete_work);
|
cancel_delayed_work_sync(&ah->tx_complete_work);
|
||||||
|
|
||||||
if (!ath5k_modparam_no_hw_rfkill_switch)
|
if (!ath5k_modparam_no_hw_rfkill_switch)
|
||||||
|
|
Loading…
Reference in New Issue