[PATCH] staging: nvec: use guard(mutex) in nvec_write_sync()
From: Jeremy Dean Clifton
Date: Mon Oct 12 2026 - 13:58:36 EST
Use guard(mutex) for sync_write_mutex. The lock is released
automatically on every return path. This removes the three
mutex_unlock() calls and simplifies the -ENOMEM error path.
No functional change.
Assisted-by: LLM
Signed-off-by: Jeremy Dean Clifton <deaner92@xxxxxxxxx>
---
drivers/staging/nvec/nvec.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index 41cbdfdc1da6..716b1b482568 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -298,17 +298,15 @@ int nvec_write_sync(struct nvec_chip *nvec,
const unsigned char *data, short size,
struct nvec_msg **msg)
{
- mutex_lock(&nvec->sync_write_mutex);
+ guard(mutex)(&nvec->sync_write_mutex);
if (msg)
*msg = NULL;
nvec->sync_write_pending = (data[1] << 8) + data[0];
- if (nvec_write_async(nvec, data, size) < 0) {
- mutex_unlock(&nvec->sync_write_mutex);
+ if (nvec_write_async(nvec, data, size) < 0)
return -ENOMEM;
- }
dev_dbg(nvec->dev, "nvec_sync_write: 0x%04x\n",
nvec->sync_write_pending);
@@ -316,7 +314,6 @@ int nvec_write_sync(struct nvec_chip *nvec,
msecs_to_jiffies(2000)))) {
dev_warn(nvec->dev,
"Timeout waiting for sync write to complete\n");
- mutex_unlock(&nvec->sync_write_mutex);
return -ETIMEDOUT;
}
@@ -327,8 +324,6 @@ int nvec_write_sync(struct nvec_chip *nvec,
else
nvec_msg_free(nvec, nvec->last_sync_msg);
- mutex_unlock(&nvec->sync_write_mutex);
-
return 0;
}
EXPORT_SYMBOL(nvec_write_sync);
--
2.43.0