diff options
author | Shahar S Matityahu <shahar.s.matityahu@intel.com> | 2018-11-21 10:45:05 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2019-02-14 11:29:45 +0200 |
commit | b61a6610922272dce0cf4dc43b576919b7b0593c (patch) | |
tree | e868f2f202c4dbb7ad45486359413db2dcb790c6 /drivers/net/wireless/intel/iwlwifi/fw/dbg.h | |
parent | 22463857a16b43719e9845b47f6992d13376b2e0 (diff) | |
download | blackbird-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.h | 7 |
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; |