summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGolan Ben-Ami <golan.ben.ami@intel.com>2016-06-15 09:16:24 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-10-07 15:21:18 +0200
commitb50c78a11e371e93b6d9956e89cdafcfc11e1923 (patch)
tree4779bb6ed3855ec4978944bdfe1fe44f61dd467f /drivers
parentaba2ee27a10ff52a0bf47e1a32b45b09c6b42d49 (diff)
downloadlinux-stable-b50c78a11e371e93b6d9956e89cdafcfc11e1923.tar.gz
linux-stable-b50c78a11e371e93b6d9956e89cdafcfc11e1923.tar.bz2
linux-stable-b50c78a11e371e93b6d9956e89cdafcfc11e1923.zip
iwlwifi: mvm: write the correct internal TXF index
commit e7c9bd1cc632e924a69bf704385484386bb10933 upstream. The TX fifos are arranged consecutively in the SMEM, beginning with the regular fifos, and tailed by the internal fifos. In the current code, while trying to read the internal fifos, we read the fifos beginning with the index zero. By doing this we actually re-read the regular fifos. In order to read the internal fifos, start the reading index from the number of regular fifos configured by the fw. Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com> Fixes: 39654cb3a6a2 ("iwlwifi: don't access a nonexistent register upon assert") Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c
index e1b6b2c665eb..1abcabb9b6cd 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c
@@ -288,7 +288,8 @@ static void iwl_mvm_dump_fifos(struct iwl_mvm *mvm,
fifo_hdr->fifo_num = cpu_to_le32(i);
/* Mark the number of TXF we're pulling now */
- iwl_trans_write_prph(mvm->trans, TXF_CPU2_NUM, i);
+ iwl_trans_write_prph(mvm->trans, TXF_CPU2_NUM, i +
+ ARRAY_SIZE(mvm->shared_mem_cfg.txfifo_size));
fifo_hdr->available_bytes =
cpu_to_le32(iwl_trans_read_prph(mvm->trans,