diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2013-12-05 16:46:28 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-08 18:23:42 -0800 |
commit | a61aca2854eaecf2d1bffbaf1fc368fb1a20c850 (patch) | |
tree | 268cd2844c7a537f2997b0c931508a8385ea53b3 /drivers/firmware/dmi-sysfs.c | |
parent | 68aeeaaaf86b61c78dca09879ce262778a9080e4 (diff) | |
download | linux-stable-a61aca2854eaecf2d1bffbaf1fc368fb1a20c850.tar.gz linux-stable-a61aca2854eaecf2d1bffbaf1fc368fb1a20c850.tar.bz2 linux-stable-a61aca2854eaecf2d1bffbaf1fc368fb1a20c850.zip |
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 <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/firmware/dmi-sysfs.c')
-rw-r--r-- | drivers/firmware/dmi-sysfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firmware/dmi-sysfs.c b/drivers/firmware/dmi-sysfs.c index eb26d62e5188..66200ed5e6a1 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); |