[PATCH] driver core: Move device_links_purge() after bus_remove_device()

From: Jeffy Chen
Date: Wed Oct 18 2017 - 07:28:50 EST


Currently we are unbinding device link consumers when detaching the
supplier. So we need to make sure the detaching happens before purging
the supplier's device links.

Move device_links_purge() after bus_remove_device() in device_del()
for that.

Signed-off-by: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx>
---

drivers/base/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 12ebd055724c..2e683cdf4a08 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1958,7 +1958,6 @@ void device_del(struct device *dev)
blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
BUS_NOTIFY_DEL_DEVICE, dev);

- device_links_purge(dev);
dpm_sysfs_remove(dev);
if (parent)
klist_del(&dev->p->knode_parent);
@@ -1986,6 +1985,7 @@ void device_del(struct device *dev)
device_pm_remove(dev);
driver_deferred_probe_del(dev);
device_remove_properties(dev);
+ device_links_purge(dev);

/* Notify the platform of the removal, in case they
* need to do anything...
--
2.11.0