b063278ee0
- Add patch to fix carl9170 oops (rhbz 967271)
36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
|
|
|
When the queue is unmapped while it was so loaded that
|
|
mac80211's was stopped, we need to wake the queue after
|
|
having freed all the packets in the queue.
|
|
Not doing so can result in weird stuff like:
|
|
|
|
* run lots of traffic (mac80211's queue gets stopped)
|
|
* RFKILL
|
|
* de-assert RFKILL
|
|
* no traffic
|
|
|
|
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
---
|
|
drivers/net/wireless/iwlwifi/pcie/tx.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/drivers/net/wireless/iwlwifi/pcie/tx.c b/drivers/net/wireless/iwlwifi/pcie/tx.c
|
|
index faaf77c..4e7b8d4 100644
|
|
--- a/drivers/net/wireless/iwlwifi/pcie/tx.c
|
|
+++ b/drivers/net/wireless/iwlwifi/pcie/tx.c
|
|
@@ -585,6 +585,9 @@ static void iwl_pcie_txq_unmap(struct iwl_trans *trans, int txq_id)
|
|
}
|
|
txq->active = false;
|
|
spin_unlock_bh(&txq->lock);
|
|
+
|
|
+ /* just in case - this queue may have been stopped */
|
|
+ iwl_wake_queue(trans, txq);
|
|
}
|
|
|
|
/*
|
|
--
|
|
1.7.11.7
|