diff options
-rw-r--r-- | drivers/base/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index f544adc5a5e2..5d11bbdfbd2f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -682,6 +682,7 @@ void device_del(struct device * dev) | |||
682 | device_remove_file(dev, &dev->uevent_attr); | 682 | device_remove_file(dev, &dev->uevent_attr); |
683 | device_remove_groups(dev); | 683 | device_remove_groups(dev); |
684 | device_remove_attrs(dev); | 684 | device_remove_attrs(dev); |
685 | bus_remove_device(dev); | ||
685 | 686 | ||
686 | /* Notify the platform of the removal, in case they | 687 | /* Notify the platform of the removal, in case they |
687 | * need to do anything... | 688 | * need to do anything... |
@@ -691,7 +692,6 @@ void device_del(struct device * dev) | |||
691 | if (dev->bus) | 692 | if (dev->bus) |
692 | blocking_notifier_call_chain(&dev->bus->bus_notifier, | 693 | blocking_notifier_call_chain(&dev->bus->bus_notifier, |
693 | BUS_NOTIFY_DEL_DEVICE, dev); | 694 | BUS_NOTIFY_DEL_DEVICE, dev); |
694 | bus_remove_device(dev); | ||
695 | device_pm_remove(dev); | 695 | device_pm_remove(dev); |
696 | kobject_uevent(&dev->kobj, KOBJ_REMOVE); | 696 | kobject_uevent(&dev->kobj, KOBJ_REMOVE); |
697 | kobject_del(&dev->kobj); | 697 | kobject_del(&dev->kobj); |