diff options
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/internal.h')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/internal.h | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h index d749abeca3ae..403e65c309d0 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/internal.h +++ b/drivers/net/wireless/intel/iwlwifi/pcie/internal.h @@ -670,11 +670,15 @@ static inline u8 iwl_pcie_get_cmd_index(struct iwl_txq *q, u32 index)  	return index & (q->n_window - 1);  } -static inline void *iwl_pcie_get_tfd(struct iwl_trans_pcie *trans_pcie, +static inline void *iwl_pcie_get_tfd(struct iwl_trans *trans,  				     struct iwl_txq *txq, int idx)  { -	return txq->tfds + trans_pcie->tfd_size * iwl_pcie_get_cmd_index(txq, -									 idx); +	struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); + +	if (trans->cfg->use_tfh) +		idx = iwl_pcie_get_cmd_index(txq, idx); + +	return txq->tfds + trans_pcie->tfd_size * idx;  }  static inline void iwl_enable_rfkill_int(struct iwl_trans *trans) |