ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()
authorWei Yongjun <weiyongjun1@huawei.com>
Tue, 5 Jun 2018 09:16:21 +0000 (09:16 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 5 Jun 2018 11:33:57 +0000 (21:33 +1000)
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>
drivers/misc/ocxl/file.c

index 33ae46c..e6a6074 100644 (file)
@@ -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;
                }