From 2fb25ac7fcdd5adfb42c53496124b375bc08b0e8 Mon Sep 17 00:00:00 2001 From: R Raj Kumar Date: Wed, 4 Dec 2013 12:01:29 +0530 Subject: devres: release resources on device_del() Some platform devices are driven without driver attached, so managed resources can be acquired without driver attached. Make sure such resources are released by calling devres_release_all() in device_del(). Bug 1393856 Change-Id: I1e43647e143bdb363b939b97c77b4a508f281e7c Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik Signed-off-by: R Raj Kumar Reviewed-on: http://git-master/r/338117 Reviewed-by: Venu Byravarasu GVS: Gerrit_Virtual_Submit --- drivers/base/core.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/base') diff --git a/drivers/base/core.c b/drivers/base/core.c index ca4bcb8b3938..88bd6b57a62f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -1243,6 +1243,13 @@ void device_del(struct device *dev) device_pm_remove(dev); driver_deferred_probe_del(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... */ -- cgit v1.2.3