> -----Original Message----- > From: Dan Carpenter [mailto:dan.carpenter@xxxxxxxxxx] > Sent: Monday, November 13, 2017 4:06 AM > To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx> > Cc: Darren Hart <dvhart@xxxxxxxxxxxxx>; Andy Shevchenko > <andy@xxxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx; kernel- > janitors@xxxxxxxxxxxxxxx > Subject: [PATCH] platform/x86: dell-smbios-wmi: Unlock on error in > dell_smbios_wmi_call() > > We have to unlock before returning if get_first_smbios_priv() fails. > > Fixes: 1a258e670434 ("platform/x86: dell-smbios-wmi: Add new WMI dispatcher > driver") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > diff --git a/drivers/platform/x86/dell-smbios-wmi.c b/drivers/platform/x86/dell- > smbios-wmi.c > index 35c13815b24c..7b0e3ca74ca0 100644 > --- a/drivers/platform/x86/dell-smbios-wmi.c > +++ b/drivers/platform/x86/dell-smbios-wmi.c > @@ -91,8 +91,10 @@ int dell_smbios_wmi_call(struct calling_interface_buffer > *buffer) > > mutex_lock(&call_mutex); > priv = get_first_smbios_priv(); > - if (!priv) > - return -ENODEV; > + if (!priv) { > + ret = -ENODEV; > + goto unlock; > + } > > size = sizeof(struct calling_interface_buffer); > difference = priv->req_buf_size - sizeof(u64) - size; > @@ -101,6 +103,7 @@ int dell_smbios_wmi_call(struct calling_interface_buffer > *buffer) > memcpy(&priv->buf->std, buffer, size); > ret = run_smbios_call(priv->wdev); > memcpy(buffer, &priv->buf->std, size); > +unlock: > mutex_unlock(&call_mutex); > > return ret; Hi Dan, Thanks for submitting. This exact same fix is in the subsystem "testing" branch but hasn't yet been promoted to -next. http://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git/commit/307ab2a99d190d3a7949258b8551b66887ce8cf4 -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html