From: mark gross <mgross@linux.intel.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: Mark Gross <mgross@linux.intel.com>,
Andy Shevchenko <andy@infradead.org>,
Dell.Client.Kernel@dell.com, platform-driver-x86@vger.kernel.org,
Mario Limonciello <mario.limonciello@outlook.com>
Subject: Re: [PATCH] platform/x86: dell-smbios-wmi: Fix oops on rmmod dell_smbios
Date: Tue, 18 May 2021 15:40:26 -0700 [thread overview]
Message-ID: <20210518224026.GD47806@linux.intel.com> (raw)
In-Reply-To: <20210518125027.21824-1-hdegoede@redhat.com>
On Tue, May 18, 2021 at 02:50:27PM +0200, Hans de Goede wrote:
> init_dell_smbios_wmi() only registers the dell_smbios_wmi_driver on systems
> where the Dell WMI interface is support. While exit_dell_smbios_wmi()
> unregisters it unconditionally, this leads to the following oops:
>
> [ 175.722921] ------------[ cut here ]------------
> [ 175.722925] Unexpected driver unregister!
> [ 175.722939] WARNING: CPU: 1 PID: 3630 at drivers/base/driver.c:194 driver_unregister+0x38/0x40
> ...
> [ 175.723089] Call Trace:
> [ 175.723094] cleanup_module+0x5/0xedd [dell_smbios]
> ...
> [ 175.723148] ---[ end trace 064c34e1ad49509d ]---
>
> Make the unregister happen on the same condition the register happens
> to fix this.
>
> Cc: Mario Limonciello <mario.limonciello@outlook.com>
> Fixes: 1a258e670434 ("platform/x86: dell-smbios-wmi: Add new WMI dispatcher driver")
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> drivers/platform/x86/dell/dell-smbios-wmi.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/dell/dell-smbios-wmi.c b/drivers/platform/x86/dell/dell-smbios-wmi.c
> index a1753485159c..33f823772733 100644
> --- a/drivers/platform/x86/dell/dell-smbios-wmi.c
> +++ b/drivers/platform/x86/dell/dell-smbios-wmi.c
> @@ -270,7 +270,8 @@ int init_dell_smbios_wmi(void)
>
> void exit_dell_smbios_wmi(void)
> {
> - wmi_driver_unregister(&dell_smbios_wmi_driver);
> + if (wmi_supported)
Something is fishy with this. wmi_supported is used in the
init_dell_smbios_wmi function so we shouldn't even be able to call this
function if wmi_supported == 0
is there a bug in the wmi framework where drivers that fail to init are not
removed from a list resulting in a failure to unregister? Is your fix hiding a
higher level issue?
Looking more shouldn't the prob function NOT get called if the init function
fails?
--mark
> + wmi_driver_unregister(&dell_smbios_wmi_driver);
> }
>
> MODULE_DEVICE_TABLE(wmi, dell_smbios_wmi_id_table);
> --
> 2.31.1
>
next prev parent reply other threads:[~2021-05-18 22:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-18 12:50 [PATCH] platform/x86: dell-smbios-wmi: Fix oops on rmmod dell_smbios Hans de Goede
2021-05-18 22:40 ` mark gross [this message]
2021-05-18 23:08 ` mark gross
2021-05-19 13:29 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210518224026.GD47806@linux.intel.com \
--to=mgross@linux.intel.com \
--cc=Dell.Client.Kernel@dell.com \
--cc=andy@infradead.org \
--cc=hdegoede@redhat.com \
--cc=mario.limonciello@outlook.com \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.