firmware: dmi-sysfs: Don't remove dmi-sysfs "raw" file explicitly
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 5 Dec 2013 23:46:28 +0000 (16:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2013 02:23:42 +0000 (18:23 -0800)
Removing the dmi-sysfs module causes the following warning:

  # modprobe -r dmi_sysfs
  WARNING: CPU: 11 PID: 6785 at fs/sysfs/inode.c:325 sysfs_hash_and_remove+0xa9/0xb0()
  sysfs: can not remove 'raw', no directory

This is because putting the entry kobject, e.g., for
"/sys/firmware/dmi/entries/19-0", removes the directory and all its
contents.  By the time dmi_sysfs_entry_release() runs, the "raw" file
inside ".../19-0/" has already been removed.

Therefore, we don't need to remove the "raw" bin file at all in
dmi_sysfs_entry_release().

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/dmi-sysfs.c

index eb26d62e5188a9d4cff9b00ce8f92d45ef80809f..66200ed5e6a13104f293c0f6fcb3e688711e6a8c 100644 (file)
@@ -553,7 +553,7 @@ static const struct bin_attribute dmi_entry_raw_attr = {
 static void dmi_sysfs_entry_release(struct kobject *kobj)
 {
        struct dmi_sysfs_entry *entry = to_entry(kobj);
-       sysfs_remove_bin_file(&entry->kobj, &dmi_entry_raw_attr);
+
        spin_lock(&entry_list_lock);
        list_del(&entry->list);
        spin_unlock(&entry_list_lock);