From 5e3e22971fb0b0d7d03286f1a619d0348748a243 Mon Sep 17 00:00:00 2001
From: Mario Limonciello <mario.limonciello@dell.com>
Date: Sun, 5 Nov 2017 21:34:33 -0600
Subject: [PATCH] platform/x86: wmi: release mutex on module acquistion failure
Git-commit: 5e3e22971fb0b0d7d03286f1a619d0348748a243
Patch-mainline: v4.15-rc1
References: FATE#325842
This failure mode should have also released the mutex.
Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
Acked-by: Takashi Iwai <tiwai@suse.de>
---
drivers/platform/x86/wmi.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -868,8 +868,10 @@ static long wmi_ioctl(struct file *filp,
/* let the driver do any filtering and do the call */
wdriver = container_of(wblock->dev.dev.driver,
struct wmi_driver, driver);
- if (!try_module_get(wdriver->driver.owner))
- return -EBUSY;
+ if (!try_module_get(wdriver->driver.owner)) {
+ ret = -EBUSY;
+ goto out_ioctl;
+ }
ret = wdriver->filter_callback(&wblock->dev, cmd, buf);
module_put(wdriver->driver.owner);
if (ret)