aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/core.c
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2007-10-26 14:07:44 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-10-31 00:52:33 -0400
commit60b8cabd8e8a1d266aa8778957691cd925673083 (patch)
treec3eedcd7291d78943b790fb50865c5497de0688d /drivers/base/core.c
parent78e9d3678c8362aad2b2a48c242966aebb089dbd (diff)
Driver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y
This should fix the sysfs warnings that renaming network devices is causing to show up with CONFIG_SYSFS_DEPRECATED=y The code just shouldn't run if class devices are real directories, it's an update for the symlink in the class directory. Nobody noticed that as long as the creation of sysfs files silently failed, and we both missed it before the merge, because we don't run SYSFS_DEPRECATED=y. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: David Miller <davem@davemloft.net> Cc: Rafael J. Wysocki <rjw@sisk.pl> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r--drivers/base/core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c
index c1343414d285..3f4d6aa13990 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1228,18 +1228,18 @@ int device_rename(struct device *dev, char *new_name)
1228 sysfs_remove_link(&dev->parent->kobj, old_class_name); 1228 sysfs_remove_link(&dev->parent->kobj, old_class_name);
1229 } 1229 }
1230 } 1230 }
1231#endif 1231#else
1232
1233 if (dev->class) { 1232 if (dev->class) {
1234 sysfs_remove_link(&dev->class->subsys.kobj, old_device_name); 1233 sysfs_remove_link(&dev->class->subsys.kobj, old_device_name);
1235 error = sysfs_create_link(&dev->class->subsys.kobj, &dev->kobj, 1234 error = sysfs_create_link(&dev->class->subsys.kobj, &dev->kobj,
1236 dev->bus_id); 1235 dev->bus_id);
1237 if (error) { 1236 if (error) {
1238 /* Uh... how to unravel this if restoring can fail? */
1239 dev_err(dev, "%s: sysfs_create_symlink failed (%d)\n", 1237 dev_err(dev, "%s: sysfs_create_symlink failed (%d)\n",
1240 __FUNCTION__, error); 1238 __FUNCTION__, error);
1241 } 1239 }
1242 } 1240 }
1241#endif
1242
1243out: 1243out:
1244 put_device(dev); 1244 put_device(dev);
1245 1245