[PATCH 2/2] platform/x86/intel/tpmi: convert mutex lock/unlock in mem_write() to guard

From: ZhaoJinming

Date: Wed May 20 2026 - 01:44:48 EST


Convert the explicit mutex_lock/mutex_unlock pair in mem_write() into a cleanup.h guard(mutex)() scope-based lock acquisition. This removes the remaining goto-based cleanup path and keeps the lock held until the end of the mem_write() scope.

Signed-off-by: ZhaoJinming <zhaojinming@xxxxxxxxxxxxx>
---
drivers/platform/x86/intel/vsec_tpmi.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/platform/x86/intel/vsec_tpmi.c b/drivers/platform/x86/intel/vsec_tpmi.c
index e7bc3474c7aa..72b78b505e03 100644
--- a/drivers/platform/x86/intel/vsec_tpmi.c
+++ b/drivers/platform/x86/intel/vsec_tpmi.c
@@ -504,23 +504,17 @@ static ssize_t mem_write(struct file *file, const char __user *userbuf, size_t l
if (addr >= size)
return -EINVAL;

- mutex_lock(&tpmi_dev_lock);
+ guard(mutex)(&tpmi_dev_lock);

mem = ioremap(pfs->vsec_offset + punit * size, size);
- if (!mem) {
- ret = -ENOMEM;
- goto unlock_mem_write;
- }
+ if (!mem)
+ return -ENOMEM;

writel(value, mem + addr);

iounmap(mem);

- ret = len;
-
- mutex_unlock(&tpmi_dev_lock);
-
- return ret;
+ return len;
}

static int mem_write_show(struct seq_file *s, void *unused)
--
2.20.1