diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-04-18 11:11:57 +0100 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2012-04-22 11:17:42 -0400 |
commit | 48b332f9916f33ba0001b78e5cea49ef17f3c81e (patch) | |
tree | 0de29f015dd149a9081af86dec4836a25beb0c8e /drivers/mmc/host/omap_hsmmc.c | |
parent | ca5879d3ffebd967e94b2dc3b1a3dc089709206f (diff) |
mmc: omap_hsmmc: release correct resource
res can be one of several resources, as this variable is re-used several
times during probe. This can cause the wrong resource parameters to be
passed to release_mem_region().
Get the original memory resource before calling release_mem_region().
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/omap_hsmmc.c')
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 4254b6f310a..d15b149649b 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -2042,7 +2042,9 @@ err1: err_alloc: omap_hsmmc_gpio_free(pdata); err: - release_mem_region(res->start, resource_size(res)); + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (res) + release_mem_region(res->start, resource_size(res)); return ret; } |