Skip to content

Commit

Permalink
arm: mach-u300/gpio: Fix mem_region resource size miscalculations
Browse files Browse the repository at this point in the history
Convert off-by-1 r->end - r->start to resource_size(r)

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  • Loading branch information
Joe Perches authored and Jiri Kosina committed Apr 10, 2011
1 parent 99172a2 commit b0c3af5
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions arch/arm/mach-u300/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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);
Expand All @@ -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;
Expand Down

0 comments on commit b0c3af5

Please sign in to comment.