diff --git a/drivers/base/core.c b/drivers/base/core.c index cf2a398aaaa1f6c0113bb1b58793e8d14b940129..89ebe368272616be7164269bcb4637b3bb18c307 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -787,6 +787,13 @@ void device_del(struct device * dev) device_remove_attrs(dev); bus_remove_device(dev); + /* + * Some platform devices are driven without driver attached + * and managed resources may have been acquired. Make sure + * all resources are released. + */ + devres_release_all(dev); + /* Notify the platform of the removal, in case they * need to do anything... */