sysfs: remove BUG_ON() from sysfs_remove_group()
authorGreg Kroah-Hartman <gregkh@suse.de>
Thu, 7 Feb 2008 16:58:54 +0000 (11:58 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 7 Feb 2008 19:31:46 +0000 (11:31 -0800)
It's possible that the caller of sysfs_remove_group messed up and passed in an attribute group that was not really registered to this kobject.  But don't panic for such a foolish error, spit out a warning about what happened, and continue on our way safely.

Cc: Roland Dreier <rdreier@cisco.com>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/sysfs/group.c

index 0871c3dadce1c4a16d469b9a03b511f3eadbb937..477904915032e9359893d6128f3515a1d86963c7 100644 (file)
@@ -77,7 +77,12 @@ void sysfs_remove_group(struct kobject * kobj,
 
        if (grp->name) {
                sd = sysfs_get_dirent(dir_sd, grp->name);
-               BUG_ON(!sd);
+               if (!sd) {
+                       printk(KERN_WARNING "sysfs group %p not found for "
+                               "kobject '%s'\n", grp, kobject_name(kobj));
+                       WARN_ON(!sd);
+                       return;
+               }
        } else
                sd = sysfs_get(dir_sd);