From a61aca2854eaecf2d1bffbaf1fc368fb1a20c850 Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Thu, 5 Dec 2013 16:46:28 -0700 Subject: firmware: dmi-sysfs: Don't remove dmi-sysfs "raw" file explicitly 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 Signed-off-by: Greg Kroah-Hartman --- drivers/firmware/dmi-sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/firmware') diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c index eb26d62e518..66200ed5e6a 100644 --- a/drivers/firmware/dmi-sysfs.c +++ b/drivers/firmware/dmi-sysfs.c @@ -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); -- cgit v1.2.3