diff options
author | Dan Carpenter <error27@gmail.com> | 2010-03-21 22:11:11 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-22 21:33:10 -0400 |
commit | 7c5365bca33194092e0a094b34b268283022a1a1 (patch) | |
tree | 0b9aa0493c5b074c083d00ad218ff6053708273e /drivers/net | |
parent | d2ba2ed8fe3aa796a671a6922119d7171bb49515 (diff) |
stmmac: use resource_size()
The size calculation is not correct. It should be end - start + 1.
Use resource_size() to calculate it instead.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/stmmac/stmmac_main.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/stmmac/stmmac_main.c b/drivers/net/stmmac/stmmac_main.c index a6733612d64a..92bef30de092 100644 --- a/drivers/net/stmmac/stmmac_main.c +++ b/drivers/net/stmmac/stmmac_main.c | |||
@@ -1685,8 +1685,7 @@ static int stmmac_dvr_probe(struct platform_device *pdev) | |||
1685 | } | 1685 | } |
1686 | pr_info("done!\n"); | 1686 | pr_info("done!\n"); |
1687 | 1687 | ||
1688 | if (!request_mem_region(res->start, (res->end - res->start), | 1688 | if (!request_mem_region(res->start, resource_size(res), pdev->name)) { |
1689 | pdev->name)) { | ||
1690 | pr_err("%s: ERROR: memory allocation failed" | 1689 | pr_err("%s: ERROR: memory allocation failed" |
1691 | "cannot get the I/O addr 0x%x\n", | 1690 | "cannot get the I/O addr 0x%x\n", |
1692 | __func__, (unsigned int)res->start); | 1691 | __func__, (unsigned int)res->start); |
@@ -1694,9 +1693,9 @@ static int stmmac_dvr_probe(struct platform_device *pdev) | |||
1694 | goto out; | 1693 | goto out; |
1695 | } | 1694 | } |
1696 | 1695 | ||
1697 | addr = ioremap(res->start, (res->end - res->start)); | 1696 | addr = ioremap(res->start, resource_size(res)); |
1698 | if (!addr) { | 1697 | if (!addr) { |
1699 | pr_err("%s: ERROR: memory mapping failed \n", __func__); | 1698 | pr_err("%s: ERROR: memory mapping failed\n", __func__); |
1700 | ret = -ENOMEM; | 1699 | ret = -ENOMEM; |
1701 | goto out; | 1700 | goto out; |
1702 | } | 1701 | } |
@@ -1774,7 +1773,7 @@ static int stmmac_dvr_probe(struct platform_device *pdev) | |||
1774 | out: | 1773 | out: |
1775 | if (ret < 0) { | 1774 | if (ret < 0) { |
1776 | platform_set_drvdata(pdev, NULL); | 1775 | platform_set_drvdata(pdev, NULL); |
1777 | release_mem_region(res->start, (res->end - res->start)); | 1776 | release_mem_region(res->start, resource_size(res)); |
1778 | if (addr != NULL) | 1777 | if (addr != NULL) |
1779 | iounmap(addr); | 1778 | iounmap(addr); |
1780 | } | 1779 | } |
@@ -1812,7 +1811,7 @@ static int stmmac_dvr_remove(struct platform_device *pdev) | |||
1812 | 1811 | ||
1813 | iounmap((void *)ndev->base_addr); | 1812 | iounmap((void *)ndev->base_addr); |
1814 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 1813 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
1815 | release_mem_region(res->start, (res->end - res->start)); | 1814 | release_mem_region(res->start, resource_size(res)); |
1816 | 1815 | ||
1817 | free_netdev(ndev); | 1816 | free_netdev(ndev); |
1818 | 1817 | ||