diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 1bd2cd836026..644aacfbd7df 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -502,14 +502,14 @@ static void iwl4965_tx_queue_set_status(struct iwl_priv *priv, | |||
502 | scd_retry ? "BA" : "AC", txq_id, tx_fifo_id); | 502 | scd_retry ? "BA" : "AC", txq_id, tx_fifo_id); |
503 | } | 503 | } |
504 | 504 | ||
505 | static const u16 default_queue_to_tx_fifo[] = { | 505 | static const s8 default_queue_to_tx_fifo[] = { |
506 | IWL_TX_FIFO_AC3, | 506 | IWL_TX_FIFO_VO, |
507 | IWL_TX_FIFO_AC2, | 507 | IWL_TX_FIFO_VI, |
508 | IWL_TX_FIFO_AC1, | 508 | IWL_TX_FIFO_BE, |
509 | IWL_TX_FIFO_AC0, | 509 | IWL_TX_FIFO_BK, |
510 | IWL49_CMD_FIFO_NUM, | 510 | IWL49_CMD_FIFO_NUM, |
511 | IWL_TX_FIFO_HCCA_1, | 511 | IWL_TX_FIFO_UNUSED, |
512 | IWL_TX_FIFO_HCCA_2 | 512 | IWL_TX_FIFO_UNUSED, |
513 | }; | 513 | }; |
514 | 514 | ||
515 | static int iwl4965_alive_notify(struct iwl_priv *priv) | 515 | static int iwl4965_alive_notify(struct iwl_priv *priv) |
@@ -589,9 +589,15 @@ static int iwl4965_alive_notify(struct iwl_priv *priv) | |||
589 | /* reset to 0 to enable all the queue first */ | 589 | /* reset to 0 to enable all the queue first */ |
590 | priv->txq_ctx_active_msk = 0; | 590 | priv->txq_ctx_active_msk = 0; |
591 | /* Map each Tx/cmd queue to its corresponding fifo */ | 591 | /* Map each Tx/cmd queue to its corresponding fifo */ |
592 | BUILD_BUG_ON(ARRAY_SIZE(default_queue_to_tx_fifo) != 7); | ||
592 | for (i = 0; i < ARRAY_SIZE(default_queue_to_tx_fifo); i++) { | 593 | for (i = 0; i < ARRAY_SIZE(default_queue_to_tx_fifo); i++) { |
593 | int ac = default_queue_to_tx_fifo[i]; | 594 | int ac = default_queue_to_tx_fifo[i]; |
595 | |||
594 | iwl_txq_ctx_activate(priv, i); | 596 | iwl_txq_ctx_activate(priv, i); |
597 | |||
598 | if (ac == IWL_TX_FIFO_UNUSED) | ||
599 | continue; | ||
600 | |||
595 | iwl4965_tx_queue_set_status(priv, &priv->txq[i], ac, 0); | 601 | iwl4965_tx_queue_set_status(priv, &priv->txq[i], ac, 0); |
596 | } | 602 | } |
597 | 603 | ||