Commit 7e307c7a authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller

cpmac: use resource_size()

The original code is off by one because we should start counting at
zero.  So the size of the resource is end - start + 1.  I switched it to
use resource_size() to do the calculation.
Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 504f85c9
...@@ -964,7 +964,7 @@ static int cpmac_open(struct net_device *dev) ...@@ -964,7 +964,7 @@ static int cpmac_open(struct net_device *dev)
struct sk_buff *skb; struct sk_buff *skb;
mem = platform_get_resource_byname(priv->pdev, IORESOURCE_MEM, "regs"); mem = platform_get_resource_byname(priv->pdev, IORESOURCE_MEM, "regs");
if (!request_mem_region(mem->start, mem->end - mem->start, dev->name)) { if (!request_mem_region(mem->start, resource_size(mem), dev->name)) {
if (netif_msg_drv(priv)) if (netif_msg_drv(priv))
printk(KERN_ERR "%s: failed to request registers\n", printk(KERN_ERR "%s: failed to request registers\n",
dev->name); dev->name);
...@@ -972,7 +972,7 @@ static int cpmac_open(struct net_device *dev) ...@@ -972,7 +972,7 @@ static int cpmac_open(struct net_device *dev)
goto fail_reserve; goto fail_reserve;
} }
priv->regs = ioremap(mem->start, mem->end - mem->start); priv->regs = ioremap(mem->start, resource_size(mem));
if (!priv->regs) { if (!priv->regs) {
if (netif_msg_drv(priv)) if (netif_msg_drv(priv))
printk(KERN_ERR "%s: failed to remap registers\n", printk(KERN_ERR "%s: failed to remap registers\n",
...@@ -1049,7 +1049,7 @@ static int cpmac_open(struct net_device *dev) ...@@ -1049,7 +1049,7 @@ static int cpmac_open(struct net_device *dev)
iounmap(priv->regs); iounmap(priv->regs);
fail_remap: fail_remap:
release_mem_region(mem->start, mem->end - mem->start); release_mem_region(mem->start, resource_size(mem));
fail_reserve: fail_reserve:
return res; return res;
...@@ -1077,7 +1077,7 @@ static int cpmac_stop(struct net_device *dev) ...@@ -1077,7 +1077,7 @@ static int cpmac_stop(struct net_device *dev)
free_irq(dev->irq, dev); free_irq(dev->irq, dev);
iounmap(priv->regs); iounmap(priv->regs);
mem = platform_get_resource_byname(priv->pdev, IORESOURCE_MEM, "regs"); mem = platform_get_resource_byname(priv->pdev, IORESOURCE_MEM, "regs");
release_mem_region(mem->start, mem->end - mem->start); release_mem_region(mem->start, resource_size(mem));
priv->rx_head = &priv->desc_ring[CPMAC_QUEUES]; priv->rx_head = &priv->desc_ring[CPMAC_QUEUES];
for (i = 0; i < priv->ring_size; i++) { for (i = 0; i < priv->ring_size; i++) {
if (priv->rx_head[i].skb) { if (priv->rx_head[i].skb) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment