edac: fix resource size calculation
Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b484625172
commit
30a61fff3a
|
@ -885,14 +885,14 @@ static int __devinit cpc925_probe(struct platform_device *pdev)
|
|||
|
||||
if (!devm_request_mem_region(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1,
|
||||
resource_size(r),
|
||||
pdev->name)) {
|
||||
cpc925_printk(KERN_ERR, "Unable to request mem region\n");
|
||||
res = -EBUSY;
|
||||
goto err1;
|
||||
}
|
||||
|
||||
vbase = devm_ioremap(&pdev->dev, r->start, r->end - r->start + 1);
|
||||
vbase = devm_ioremap(&pdev->dev, r->start, resource_size(r));
|
||||
if (!vbase) {
|
||||
cpc925_printk(KERN_ERR, "Unable to ioremap device\n");
|
||||
res = -ENOMEM;
|
||||
|
@ -953,7 +953,7 @@ static int __devinit cpc925_probe(struct platform_device *pdev)
|
|||
cpc925_mc_exit(mci);
|
||||
edac_mc_free(mci);
|
||||
err2:
|
||||
devm_release_mem_region(&pdev->dev, r->start, r->end-r->start+1);
|
||||
devm_release_mem_region(&pdev->dev, r->start, resource_size(r));
|
||||
err1:
|
||||
devres_release_group(&pdev->dev, cpc925_probe);
|
||||
out:
|
||||
|
|
|
@ -90,7 +90,7 @@ static int __init mv64x60_pci_fixup(struct platform_device *pdev)
|
|||
return -ENOENT;
|
||||
}
|
||||
|
||||
pci_serr = ioremap(r->start, r->end - r->start + 1);
|
||||
pci_serr = ioremap(r->start, resource_size(r));
|
||||
if (!pci_serr)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -140,7 +140,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
|
|||
|
||||
if (!devm_request_mem_region(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1,
|
||||
resource_size(r),
|
||||
pdata->name)) {
|
||||
printk(KERN_ERR "%s: Error while requesting mem region\n",
|
||||
__func__);
|
||||
|
@ -150,7 +150,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)
|
|||
|
||||
pdata->pci_vbase = devm_ioremap(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1);
|
||||
resource_size(r));
|
||||
if (!pdata->pci_vbase) {
|
||||
printk(KERN_ERR "%s: Unable to setup PCI err regs\n", __func__);
|
||||
res = -ENOMEM;
|
||||
|
@ -306,7 +306,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)
|
|||
|
||||
if (!devm_request_mem_region(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1,
|
||||
resource_size(r),
|
||||
pdata->name)) {
|
||||
printk(KERN_ERR "%s: Error while request mem region\n",
|
||||
__func__);
|
||||
|
@ -316,7 +316,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)
|
|||
|
||||
pdata->sram_vbase = devm_ioremap(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1);
|
||||
resource_size(r));
|
||||
if (!pdata->sram_vbase) {
|
||||
printk(KERN_ERR "%s: Unable to setup SRAM err regs\n",
|
||||
__func__);
|
||||
|
@ -474,7 +474,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
|
|||
|
||||
if (!devm_request_mem_region(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1,
|
||||
resource_size(r),
|
||||
pdata->name)) {
|
||||
printk(KERN_ERR "%s: Error while requesting mem region\n",
|
||||
__func__);
|
||||
|
@ -484,7 +484,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
|
|||
|
||||
pdata->cpu_vbase[0] = devm_ioremap(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1);
|
||||
resource_size(r));
|
||||
if (!pdata->cpu_vbase[0]) {
|
||||
printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
|
||||
res = -ENOMEM;
|
||||
|
@ -501,7 +501,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
|
|||
|
||||
if (!devm_request_mem_region(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1,
|
||||
resource_size(r),
|
||||
pdata->name)) {
|
||||
printk(KERN_ERR "%s: Error while requesting mem region\n",
|
||||
__func__);
|
||||
|
@ -511,7 +511,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)
|
|||
|
||||
pdata->cpu_vbase[1] = devm_ioremap(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1);
|
||||
resource_size(r));
|
||||
if (!pdata->cpu_vbase[1]) {
|
||||
printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
|
||||
res = -ENOMEM;
|
||||
|
@ -726,7 +726,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)
|
|||
|
||||
if (!devm_request_mem_region(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1,
|
||||
resource_size(r),
|
||||
pdata->name)) {
|
||||
printk(KERN_ERR "%s: Error while requesting mem region\n",
|
||||
__func__);
|
||||
|
@ -736,7 +736,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)
|
|||
|
||||
pdata->mc_vbase = devm_ioremap(&pdev->dev,
|
||||
r->start,
|
||||
r->end - r->start + 1);
|
||||
resource_size(r));
|
||||
if (!pdata->mc_vbase) {
|
||||
printk(KERN_ERR "%s: Unable to setup MC err regs\n", __func__);
|
||||
res = -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue
Block a user