From b0c3af5ef0d7b38eb1ba522becd47123ac9736d2 Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Wed, 23 Mar 2011 12:55:37 -0700 Subject: [PATCH] arm: mach-u300/gpio: Fix mem_region resource size miscalculations Convert off-by-1 r->end - r->start to resource_size(r) Signed-off-by: Joe Perches Acked-by: Linus Walleij Signed-off-by: Jiri Kosina --- arch/arm/mach-u300/gpio.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-u300/gpio.c b/arch/arm/mach-u300/gpio.c index d92790140fe5..94837a4e146b 100644 --- a/arch/arm/mach-u300/gpio.c +++ b/arch/arm/mach-u300/gpio.c @@ -581,8 +581,7 @@ static int __init gpio_probe(struct platform_device *pdev) if (!memres) goto err_no_resource; - if (request_mem_region(memres->start, memres->end - memres->start, "GPIO Controller") - == NULL) { + if (!request_mem_region(memres->start, resource_size(memres), "GPIO Controller")) { err = -ENODEV; goto err_no_ioregion; } @@ -640,7 +639,7 @@ static int __init gpio_probe(struct platform_device *pdev) free_irq(gpio_ports[i].irq, &gpio_ports[i]); iounmap(virtbase); err_no_ioremap: - release_mem_region(memres->start, memres->end - memres->start); + release_mem_region(memres->start, resource_size(memres)); err_no_ioregion: err_no_resource: clk_disable(clk); @@ -660,7 +659,7 @@ static int __exit gpio_remove(struct platform_device *pdev) for (i = 0 ; i < U300_GPIO_NUM_PORTS; i++) free_irq(gpio_ports[i].irq, &gpio_ports[i]); iounmap(virtbase); - release_mem_region(memres->start, memres->end - memres->start); + release_mem_region(memres->start, resource_size(memres)); clk_disable(clk); clk_put(clk); return 0; -- 2.39.5