aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-03-21 22:11:11 -0400
committerDavid S. Miller <davem@davemloft.net>2010-03-22 21:33:10 -0400
commit7c5365bca33194092e0a094b34b268283022a1a1 (patch)
tree0b9aa0493c5b074c083d00ad218ff6053708273e /drivers
parentd2ba2ed8fe3aa796a671a6922119d7171bb49515 (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')
-rw-r--r--drivers/net/stmmac/stmmac_main.c11
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)
1774out: 1773out:
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