Commit d0f80f9a authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Greg Kroah-Hartman

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: default avatarBjorn Helgaas <bhelgaas@google.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a61aca28
...@@ -685,6 +685,7 @@ static void __exit dmi_sysfs_exit(void) ...@@ -685,6 +685,7 @@ static void __exit dmi_sysfs_exit(void)
pr_debug("dmi-sysfs: unloading.\n"); pr_debug("dmi-sysfs: unloading.\n");
cleanup_entry_list(); cleanup_entry_list();
kset_unregister(dmi_kset); kset_unregister(dmi_kset);
kobject_del(dmi_kobj);
kobject_put(dmi_kobj); kobject_put(dmi_kobj);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment