bcma: add missing iounmap on error path
This should fix the problem reported by Fengguang: The coccinelle static checker emits these warnings: drivers/bcma/scan.c:466:3-9: ERROR: missing iounmap; ioremap on line 451 and execution via conditional on line 465 drivers/bcma/scan.c:540:3-9: ERROR: missing iounmap; ioremap on line 515 and execution via conditional on line 539 Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d8f1bd2ffc
commit
9dbf5f55f8
|
@ -462,8 +462,10 @@ int bcma_bus_scan(struct bcma_bus *bus)
|
|||
while (eromptr < eromend) {
|
||||
struct bcma_device *other_core;
|
||||
struct bcma_device *core = kzalloc(sizeof(*core), GFP_KERNEL);
|
||||
if (!core)
|
||||
return -ENOMEM;
|
||||
if (!core) {
|
||||
err = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
INIT_LIST_HEAD(&core->list);
|
||||
core->bus = bus;
|
||||
|
||||
|
@ -478,7 +480,7 @@ int bcma_bus_scan(struct bcma_bus *bus)
|
|||
} else if (err == -ESPIPE) {
|
||||
break;
|
||||
}
|
||||
return err;
|
||||
goto out;
|
||||
}
|
||||
|
||||
core->core_index = core_num++;
|
||||
|
@ -494,10 +496,12 @@ int bcma_bus_scan(struct bcma_bus *bus)
|
|||
list_add_tail(&core->list, &bus->cores);
|
||||
}
|
||||
|
||||
err = 0;
|
||||
out:
|
||||
if (bus->hosttype == BCMA_HOSTTYPE_SOC)
|
||||
iounmap(eromptr);
|
||||
|
||||
return 0;
|
||||
return err;
|
||||
}
|
||||
|
||||
int __init bcma_bus_scan_early(struct bcma_bus *bus,
|
||||
|
@ -537,7 +541,7 @@ int __init bcma_bus_scan_early(struct bcma_bus *bus,
|
|||
else if (err == -ESPIPE)
|
||||
break;
|
||||
else if (err < 0)
|
||||
return err;
|
||||
goto out;
|
||||
|
||||
core->core_index = core_num++;
|
||||
bus->nr_cores++;
|
||||
|
@ -551,6 +555,7 @@ int __init bcma_bus_scan_early(struct bcma_bus *bus,
|
|||
break;
|
||||
}
|
||||
|
||||
out:
|
||||
if (bus->hosttype == BCMA_HOSTTYPE_SOC)
|
||||
iounmap(eromptr);
|
||||
|
||||
|
|
Loading…
Reference in New Issue