IB/ipath: Fix crash on unload introduced by sysfs changes
authorRoland Dreier <rolandd@cisco.com>
Fri, 25 Jan 2008 22:15:21 +0000 (14:15 -0800)
committerRoland Dreier <rolandd@cisco.com>
Fri, 25 Jan 2008 22:15:21 +0000 (14:15 -0800)
Commit 23b9c1ab ("Infiniband: make ipath driver use default driver
groups.") introduced a bug in the ipath driver where
ipath_device_create_group() fell through into the error path, even on
success, which meant that the sysfs groups it created would always get
removed right away.  This made ipath_device_remove_group() hit the
BUG_ON() in sysfs_remove_group() when it tried to remove those groups a
second time.

Correct the return path so that the groups stick around until they are
supposed to be cleaned up.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ipath/ipath_sysfs.c

index aa27ca9f03b12b0110677b46141352d043423837..e2a65349c824e2f83136760f420375bb7bed9a91 100644 (file)
@@ -770,7 +770,8 @@ int ipath_device_create_group(struct device *dev, struct ipath_devdata *dd)
        if (ret)
                goto bail_attrs;
 
-       sysfs_remove_group(&dev->kobj, &dev_counter_attr_group);
+       return 0;
+
 bail_attrs:
        sysfs_remove_group(&dev->kobj, &dev_attr_group);
 bail: