summaryrefslogtreecommitdiff
path: root/drivers/misc/ocxl/file.c
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2018-06-05 09:16:21 +0000
committerMichael Ellerman <mpe@ellerman.id.au>2018-06-05 21:33:57 +1000
commit2e5c93d6bb2f7bc17eb82748943a1b9f6b068520 (patch)
tree1ce9a3ff3b86a8e95d36b181586941f22d462af1 /drivers/misc/ocxl/file.c
parentb0c4acb1dd7c653f78391661079af544429b1f22 (diff)
ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()
Add the missing unlock before return from function afu_ioctl_enable_p9_wait() in the error handling case. Fixes: e948e06fc63a ("ocxl: Expose the thread_id needed for wait on POWER9") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Reviewed-by: Alastair D'Silva <alastair@d-silva.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/misc/ocxl/file.c')
-rw-r--r--drivers/misc/ocxl/file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
index 33ae46ce0a8a..e6a607488f8a 100644
--- a/drivers/misc/ocxl/file.c
+++ b/drivers/misc/ocxl/file.c
@@ -139,8 +139,10 @@ static long afu_ioctl_enable_p9_wait(struct ocxl_context *ctx,
// Locks both status & tidr
mutex_lock(&ctx->status_mutex);
if (!ctx->tidr) {
- if (set_thread_tidr(current))
+ if (set_thread_tidr(current)) {
+ mutex_unlock(&ctx->status_mutex);
return -ENOENT;
+ }
ctx->tidr = current->thread.tidr;
}