diff options
author | Emmanuel Grumbach | 2015-11-24 12:24:24 +0100 |
---|---|---|
committer | Emmanuel Grumbach | 2015-12-13 07:52:52 +0100 |
commit | 0cd58eaab1482ab75800f68cd0033286232827f1 (patch) | |
tree | e16105c724436a3570207218b0e5977e4915c6f6 /drivers/net/wireless/intel/iwlwifi/pcie/tx.c | |
parent | iwlwifi: mvm: check iwl_mvm_wowlan_config_key_params() return value (diff) | |
download | kernel-qcow2-linux-0cd58eaab1482ab75800f68cd0033286232827f1.tar.gz kernel-qcow2-linux-0cd58eaab1482ab75800f68cd0033286232827f1.tar.xz kernel-qcow2-linux-0cd58eaab1482ab75800f68cd0033286232827f1.zip |
iwlwifi: pcie: allow the op_mode to block the tx queues
In certain flows (see next patches), the op_mode may need to
block the Tx queues for a short period. Provide an API for
that. The transport is in charge of counting the number of
times the queues are blocked since the op_mode may block the
queues several times in a row before unblocking them.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/tx.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c index a8c8a4a7420b..95ba920edb1d 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c @@ -318,7 +318,9 @@ static void iwl_pcie_txq_inc_wr_ptr(struct iwl_trans *trans, * trying to tx (during RFKILL, we're not trying to tx). */ IWL_DEBUG_TX(trans, "Q:%d WR: 0x%x\n", txq_id, txq->q.write_ptr); - iwl_write32(trans, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8)); + if (!txq->block) + iwl_write32(trans, HBUS_TARG_WRPTR, + txq->q.write_ptr | (txq_id << 8)); } void iwl_pcie_txq_check_wrptrs(struct iwl_trans *trans) |