diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-06 00:46:35 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-09 03:23:42 +0100 |
commit | d0f80f9aadf60adc4caafed0d2b01e79a315ff80 (patch) | |
tree | ae7e21c5105ca8f4454055400aa68ae9678d8029 /drivers/firmware/dmi-sysfs.c | |
parent | firmware: dmi-sysfs: Don't remove dmi-sysfs "raw" file explicitly (diff) | |
download | linux-d0f80f9aadf60adc4caafed0d2b01e79a315ff80.tar.xz linux-d0f80f9aadf60adc4caafed0d2b01e79a315ff80.zip |
firmware: dmi-sysfs: Remove "dmi" directory on module exit
With CONFIG_DEBUG_KOBJECT_RELEASE=y, removing and immediately reloading the
dmi-sysfs module causes the following warning:
sysfs: cannot create duplicate filename '/firmware/dmi'
kobject_add_internal failed for dmi with -EEXIST, don't try to register things with the same name in the same directory.
The "dmi" directory stays in sysfs until the dmi_kobj is released, and
DEBUG_KOBJECT_RELEASE delays that.
I don't think we can hit this problem in normal usage because dmi_kobj is
static and nothing outside dmi-sysfs can get a reference to it, so the
only way to delay the "dmi" release is with DEBUG_KOBJECT_RELEASE.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/firmware/dmi-sysfs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c index 66200ed5e6a1..e0f1cb3d3598 100644 --- a/drivers/firmware/dmi-sysfs.c +++ b/drivers/firmware/dmi-sysfs.c @@ -685,6 +685,7 @@ static void __exit dmi_sysfs_exit(void) pr_debug("dmi-sysfs: unloading.\n"); cleanup_entry_list(); kset_unregister(dmi_kset); + kobject_del(dmi_kobj); kobject_put(dmi_kobj); } |