mirror of https://gitee.com/openkylin/linux.git
iwlwifi: don't WARN when a non empty queue is disabled
This can happen when we shut down suddenly an interface. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
378b8f7f3b
commit
4e760f1ab2
|
@ -480,11 +480,9 @@ void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, int fifo,
|
||||||
void iwl_trans_pcie_txq_disable(struct iwl_trans *trans, int txq_id)
|
void iwl_trans_pcie_txq_disable(struct iwl_trans *trans, int txq_id)
|
||||||
{
|
{
|
||||||
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
|
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
|
||||||
u16 rd_ptr, wr_ptr;
|
|
||||||
u32 stts_addr = trans_pcie->scd_base_addr +
|
u32 stts_addr = trans_pcie->scd_base_addr +
|
||||||
SCD_TX_STTS_QUEUE_OFFSET(txq_id);
|
SCD_TX_STTS_QUEUE_OFFSET(txq_id);
|
||||||
static const u32 zero_val[4] = {};
|
static const u32 zero_val[4] = {};
|
||||||
int n_bd = trans_pcie->txq[txq_id].q.n_bd;
|
|
||||||
|
|
||||||
if (!test_and_clear_bit(txq_id, trans_pcie->queue_used)) {
|
if (!test_and_clear_bit(txq_id, trans_pcie->queue_used)) {
|
||||||
WARN_ONCE(1, "queue %d not used", txq_id);
|
WARN_ONCE(1, "queue %d not used", txq_id);
|
||||||
|
@ -493,12 +491,6 @@ void iwl_trans_pcie_txq_disable(struct iwl_trans *trans, int txq_id)
|
||||||
|
|
||||||
iwl_txq_set_inactive(trans, txq_id);
|
iwl_txq_set_inactive(trans, txq_id);
|
||||||
|
|
||||||
rd_ptr = iwl_read_prph(trans, SCD_QUEUE_RDPTR(txq_id)) & (n_bd - 1);
|
|
||||||
wr_ptr = iwl_read_prph(trans, SCD_QUEUE_WRPTR(txq_id));
|
|
||||||
|
|
||||||
WARN_ONCE(rd_ptr != wr_ptr, "queue %d isn't empty: [%d,%d]",
|
|
||||||
txq_id, rd_ptr, wr_ptr);
|
|
||||||
|
|
||||||
_iwl_write_targ_mem_dwords(trans, stts_addr,
|
_iwl_write_targ_mem_dwords(trans, stts_addr,
|
||||||
zero_val, ARRAY_SIZE(zero_val));
|
zero_val, ARRAY_SIZE(zero_val));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue