]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
iwlwifi: fix cmd_queue number merge
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Fri, 9 Mar 2012 18:12:42 +0000 (10:12 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 9 Mar 2012 18:20:50 +0000 (13:20 -0500)
iwlwifi: move command queue number out of the iwl_shared struct
move the cmd_queue out of iwl_shared struct, but for some reason the
patch is half done and fail compile

Here is the fix

John, could you apply this patch to wireless-next to address the issue
Thanks

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-prph.h
drivers/net/wireless/iwlwifi/iwl-trans-pcie.c

index a4d11016c3b46a9eea12c80180bc06d66e95b466..75dc20bd965b4d80715881b5657d099c75274854 100644 (file)
 #define SCD_TRANS_TBL_OFFSET_QUEUE(x) \
        ((SCD_TRANS_TBL_MEM_LOWER_BOUND + ((x) * 2)) & 0xfffc)
 
-#define SCD_QUEUECHAIN_SEL_ALL(priv)   \
-       (((1<<hw_params(priv).max_txq_num) - 1) &\
-       (~(1<<(priv)->shrd->cmd_queue)))
-
 #define SCD_BASE                       (PRPH_BASE + 0xa02c00)
 
 #define SCD_SRAM_BASE_ADDR     (SCD_BASE + 0x0)
index 8170133d8173e3826d7f6b7b64f297f568040e61..a3ac6d81463713f9e752ba795f0af16a50ba357e 100644 (file)
@@ -556,7 +556,7 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans)
 
        /* Alloc and init all Tx queues, including the command queue (#4/#9) */
        for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++) {
-               slots_num = (txq_id == trans->cmd_queue) ?
+               slots_num = (txq_id == trans_pcie->cmd_queue) ?
                                        TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
                ret = iwl_trans_txq_alloc(trans, &trans_pcie->txq[txq_id],
                                          slots_num, txq_id);
@@ -601,7 +601,7 @@ static int iwl_tx_init(struct iwl_trans *trans)
 
        /* Alloc and init all Tx queues, including the command queue (#4/#9) */
        for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++) {
-               slots_num = (txq_id == trans->cmd_queue) ?
+               slots_num = (txq_id == trans_pcie->cmd_queue) ?
                                        TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
                ret = iwl_trans_txq_init(trans, &trans_pcie->txq[txq_id],
                                         slots_num, txq_id);
@@ -1686,7 +1686,7 @@ static int iwl_trans_pcie_wait_tx_queue_empty(struct iwl_trans *trans)
 
        /* waiting for all the tx frames complete might take a while */
        for (cnt = 0; cnt < hw_params(trans).max_txq_num; cnt++) {
-               if (cnt == trans->cmd_queue)
+               if (cnt == trans_pcie->cmd_queue)
                        continue;
                txq = &trans_pcie->txq[cnt];
                q = &txq->q;