summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J. Ruhl <michael.j.ruhl@intel.com>2025-07-13 13:29:37 -0400
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2025-07-22 17:38:58 +0300
commit147c18d8efaa1fa006fdd0b901d51092dc3b2189 (patch)
tree5884706f7cd1242560e73b8637ba2936f8292e01
parent4f8fa22d108006b8ec0b94bb67a1bd537a2bf141 (diff)
platform/x86/intel/pmt: re-order trigger logic
Setting the clear bit or checking the complete bit before checking to see if crashlog is disabled seems incorrect. Check disable before accessing any other bits. Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: David E. Box <david.e.box@linux.intel.com> Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Link: https://lore.kernel.org/r/20250713172943.7335-8-michael.j.ruhl@intel.com Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
-rw-r--r--drivers/platform/x86/intel/pmt/crashlog.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/platform/x86/intel/pmt/crashlog.c b/drivers/platform/x86/intel/pmt/crashlog.c
index c3ca95854aba..440d2045e90d 100644
--- a/drivers/platform/x86/intel/pmt/crashlog.c
+++ b/drivers/platform/x86/intel/pmt/crashlog.c
@@ -193,6 +193,10 @@ trigger_store(struct device *dev, struct device_attribute *attr,
guard(mutex)(&entry->control_mutex);
+ /* if device is currently disabled, return busy */
+ if (pmt_crashlog_disabled(&entry->entry))
+ return -EBUSY;
+
if (!trigger) {
pmt_crashlog_set_clear(&entry->entry);
return count;
@@ -202,10 +206,6 @@ trigger_store(struct device *dev, struct device_attribute *attr,
if (pmt_crashlog_complete(&entry->entry))
return -EEXIST;
- /* if device is currently disabled, return busy */
- if (pmt_crashlog_disabled(&entry->entry))
- return -EBUSY;
-
pmt_crashlog_set_execute(&entry->entry);
return count;