[PATCH v3 05/11] platform/x86/intel/pmt: use guard(mutex)

David E. Box david.e.box at linux.intel.com
Fri Jun 6 21:20:59 UTC 2025


On Thu, 2025-06-05 at 14:44 -0400, Michael J. Ruhl wrote:
> Update the mutex paths to use the new guard() mechanism.
> 
> With the removal of goto, do some minor cleanup of the current logic
> path.
> 
> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen at linux.intel.com>
> Signed-off-by: Michael J. Ruhl <michael.j.ruhl at intel.com>
> ---
>  drivers/platform/x86/intel/pmt/crashlog.c | 32 +++++++++++------------
>  1 file changed, 15 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel/pmt/crashlog.c
> b/drivers/platform/x86/intel/pmt/crashlog.c
> index e997fc48b9ce..94858bfb52f8 100644
> --- a/drivers/platform/x86/intel/pmt/crashlog.c
> +++ b/drivers/platform/x86/intel/pmt/crashlog.c
> @@ -155,9 +155,9 @@ enable_store(struct device *dev, struct device_attribute
> *attr,
>  	if (result)
>  		return result;
>  
> -	mutex_lock(&entry->control_mutex);
> +	guard(mutex)(&entry->control_mutex);
> +
>  	pmt_crashlog_set_disable(&entry->entry, !enabled);
> -	mutex_unlock(&entry->control_mutex);
>  
>  	return count;
>  }
> @@ -189,26 +189,24 @@ trigger_store(struct device *dev, struct
> device_attribute *attr,
>  	if (result)
>  		return result;
>  
> -	mutex_lock(&entry->control_mutex);
> +	guard(mutex)(&entry->control_mutex);
>  
>  	if (!trigger) {
>  		pmt_crashlog_set_clear(&entry->entry);
> -	} else if (pmt_crashlog_complete(&entry->entry)) {
> -		/* we cannot trigger a new crash if one is still pending */
> -		result = -EEXIST;
> -		goto err;
> -	} else if (pmt_crashlog_disabled(&entry->entry)) {
> -		/* if device is currently disabled, return busy */
> -		result = -EBUSY;
> -		goto err;
> -	} else {
> -		pmt_crashlog_set_execute(&entry->entry);
> +		return count;
>  	}
>  
> -	result = count;
> -err:
> -	mutex_unlock(&entry->control_mutex);
> -	return result;
> +	/* we cannot trigger a new crash if one is still pending */
> +	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;
>  }
>  static DEVICE_ATTR_RW(trigger);
>  

Don't see include for cleanup.h. If add then

Reviewed-by: David E. Box <david.e.box at linux.intel.com>



More information about the Intel-xe mailing list