|
@@ -1080,7 +1080,8 @@ void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, u16 ssn,
|
|
fifo = cfg->fifo;
|
|
fifo = cfg->fifo;
|
|
|
|
|
|
/* Disable the scheduler prior configuring the cmd queue */
|
|
/* Disable the scheduler prior configuring the cmd queue */
|
|
- if (txq_id == trans_pcie->cmd_queue)
|
|
|
|
|
|
+ if (txq_id == trans_pcie->cmd_queue &&
|
|
|
|
+ trans_pcie->scd_set_active)
|
|
iwl_scd_enable_set_active(trans, 0);
|
|
iwl_scd_enable_set_active(trans, 0);
|
|
|
|
|
|
/* Stop this Tx queue before configuring it */
|
|
/* Stop this Tx queue before configuring it */
|
|
@@ -1142,7 +1143,8 @@ void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, u16 ssn,
|
|
SCD_QUEUE_STTS_REG_MSK);
|
|
SCD_QUEUE_STTS_REG_MSK);
|
|
|
|
|
|
/* enable the scheduler for this queue (only) */
|
|
/* enable the scheduler for this queue (only) */
|
|
- if (txq_id == trans_pcie->cmd_queue)
|
|
|
|
|
|
+ if (txq_id == trans_pcie->cmd_queue &&
|
|
|
|
+ trans_pcie->scd_set_active)
|
|
iwl_scd_enable_set_active(trans, BIT(txq_id));
|
|
iwl_scd_enable_set_active(trans, BIT(txq_id));
|
|
}
|
|
}
|
|
|
|
|