--- linux-2.6.19/drivers/base/core.c
+++ linux-2.6.19/drivers/base/core.c
@@ -602,14 +602,6 @@
 			sysfs_remove_link(&dev->parent->kobj, class_name);
 		}
 		kfree(class_name);
-		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);
 	}
 	device_remove_file(dev, &dev->uevent_attr);
 	device_remove_groups(dev);
