From dmonakhov@sw.ru Sun Mar 11 05:36:38 2007 From: Dmitriy Monakhov To: Dmitriy Monakhov Cc: Greg Kroah-Hartman , , linux-kernel@vger.kernel.org, James Simmons Subject: driver core: fix device_add error path Date: Sun, 11 Mar 2007 15:36:19 +0300 Message-ID: <87veh8j6t8.fsf_-_@sw.ru> From: Dmitriy Monakhov - At the moment we jump here device was't added to dev->class->devices list yet. Signed-off-by: Monakhov Dmitriy Signed-off-by: Greg Kroah-Hartman --- drivers/base/core.c | 9 --------- 1 file changed, 9 deletions(-) --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -677,15 +677,6 @@ int device_add(struct device *dev) #endif sysfs_remove_link(&dev->kobj, "device"); } - - down(&dev->class->sem); - /* notify any interfaces that the device is now gone */ - list_for_each_entry(class_intf, &dev->class->interfaces, node) - if (class_intf->remove_dev) - class_intf->remove_dev(dev, class_intf); - /* remove the device from the class list */ - list_del_init(&dev->node); - up(&dev->class->sem); } ueventattrError: device_remove_file(dev, &dev->uevent_attr);