diff options
author | Tejun Heo <htejun@gmail.com> | 2007-03-09 05:34:19 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-09 08:41:16 -0500 |
commit | 2f8d16a996da0b9be2536994aa7a825418364471 (patch) | |
tree | 9daa94bf22e72948ade47d052c7e0995fe68db11 | |
parent | 1aa506e437a94d520f852d39d5d6a6e7f2e01901 (diff) |
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().
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/base/core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index cf2a398aaaa1..89ebe3682726 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -787,6 +787,13 @@ void device_del(struct device * dev) | |||
787 | device_remove_attrs(dev); | 787 | device_remove_attrs(dev); |
788 | bus_remove_device(dev); | 788 | bus_remove_device(dev); |
789 | 789 | ||
790 | /* | ||
791 | * Some platform devices are driven without driver attached | ||
792 | * and managed resources may have been acquired. Make sure | ||
793 | * all resources are released. | ||
794 | */ | ||
795 | devres_release_all(dev); | ||
796 | |||
790 | /* Notify the platform of the removal, in case they | 797 | /* Notify the platform of the removal, in case they |
791 | * need to do anything... | 798 | * need to do anything... |
792 | */ | 799 | */ |