iwlwifi: mvm: fix fw monitor 7000 HW recollecting
authorLiad Kaufman <liad.kaufman@intel.com>
Wed, 3 May 2017 15:47:46 +0000 (18:47 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 23 Jun 2017 09:00:28 +0000 (12:00 +0300)
To stop and start the FW monitor in the 7000 HW
family we need to use a different bit, otherwise
after stopping it for the first time - it won't
get restarted. Use the correct bitmask.

Note: This fix is only for DRAM collection mode.
      For other modes, an additional fix will be
      needed.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/ops.c

index 3a8c95162811c16ec5cd247a95910f20b2d30d19..4e66cc662120f02a5acf8b3a20691feae230cc50 100644 (file)
@@ -1181,9 +1181,13 @@ static void iwl_mvm_fw_error_dump_wk(struct work_struct *work)
 
                /* start recording again if the firmware is not crashed */
                if (!test_bit(STATUS_FW_ERROR, &mvm->trans->status) &&
-                   mvm->fw->dbg_dest_tlv)
+                   mvm->fw->dbg_dest_tlv) {
                        iwl_clear_bits_prph(mvm->trans,
                                            MON_BUFF_SAMPLE_CTL, 0x100);
+                       iwl_clear_bits_prph(mvm->trans,
+                                           MON_BUFF_SAMPLE_CTL, 0x1);
+                       iwl_set_bits_prph(mvm->trans, MON_BUFF_SAMPLE_CTL, 0x1);
+               }
        } else {
                u32 in_sample = iwl_read_prph(mvm->trans, DBGC_IN_SAMPLE);
                u32 out_ctrl = iwl_read_prph(mvm->trans, DBGC_OUT_CTRL);