summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
diff options
context:
space:
mode:
authorShahar S Matityahu <shahar.s.matityahu@intel.com>2018-11-21 10:45:05 +0200
committerLuca Coelho <luciano.coelho@intel.com>2019-02-14 11:29:45 +0200
commitb61a6610922272dce0cf4dc43b576919b7b0593c (patch)
treee868f2f202c4dbb7ad45486359413db2dcb790c6 /drivers/net/wireless/intel/iwlwifi/fw/dbg.h
parent22463857a16b43719e9845b47f6992d13376b2e0 (diff)
downloadblackbird-op-linux-b61a6610922272dce0cf4dc43b576919b7b0593c.tar.gz
blackbird-op-linux-b61a6610922272dce0cf4dc43b576919b7b0593c.zip
iwlwifi: dbg_ini: rewrite trigger flow and align to FW API changes
Trigger field ignore_default was changed to override_trig. The first byte of the field indicates the driver to override existing configuration or keep the previous one The second byte of the field indicated the driver to replace the regions of the previous trigger or to append new regions to it. Change the way the active triggers are maintained to support trigger override in different apply points. Do this by making a trigger that updates at runtime by the triggers that are being used in the different apply points. In case of an assert, the driver does not reconfigure the triggers and uses the old configuration which leads to undefined behavior. Solve this by clearing the triggers in assert recovery flow. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/dbg.h')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/fw/dbg.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.h b/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
index d11923edd695..b64fdfdcbce7 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.h
@@ -225,16 +225,17 @@ static inline bool
_iwl_fw_ini_trigger_on(struct iwl_fw_runtime *fwrt,
const enum iwl_fw_dbg_trigger id)
{
- struct iwl_fw_ini_active_triggers *trig = &fwrt->dump.active_trigs[id];
+ struct iwl_fw_ini_active_triggers *active =
+ &fwrt->dump.active_trigs[id];
u32 ms;
if (!fwrt->trans->ini_valid)
return false;
- if (!trig || !trig->active)
+ if (!active->active)
return false;
- ms = le32_to_cpu(trig->conf->ignore_consec);
+ ms = le32_to_cpu(active->trig->ignore_consec);
if (ms)
ms /= USEC_PER_MSEC;
OpenPOWER on IntegriCloud