diff options
author | Tony Lindgren <tony@atomide.com> | 2012-02-24 16:48:27 -0800 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-02-24 16:48:27 -0800 |
commit | ffd76d8be36da09f8456c55569c008f5aa93095e (patch) | |
tree | 4a5e537edcdd3be9197c5fb7af1b4f7e4780ef77 /drivers/bcma/scan.c | |
parent | bfe9c8ae114009491f51452ec727667d516ee79f (diff) | |
parent | f0e15e2b0c6b3e89daade25a1e9a2d80136c14c3 (diff) | |
download | linux-ffd76d8be36da09f8456c55569c008f5aa93095e.tar.bz2 |
Merge branch 'for_3.4/dts_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into dt
Diffstat (limited to 'drivers/bcma/scan.c')
-rw-r--r-- | drivers/bcma/scan.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/bcma/scan.c b/drivers/bcma/scan.c index cad994857683..3a2f672db9ad 100644 --- a/drivers/bcma/scan.c +++ b/drivers/bcma/scan.c @@ -399,15 +399,18 @@ int bcma_bus_scan(struct bcma_bus *bus) core->bus = bus; err = bcma_get_next_core(bus, &eromptr, NULL, core_num, core); - if (err == -ENODEV) { - core_num++; - continue; - } else if (err == -ENXIO) - continue; - else if (err == -ESPIPE) - break; - else if (err < 0) + if (err < 0) { + kfree(core); + if (err == -ENODEV) { + core_num++; + continue; + } else if (err == -ENXIO) { + continue; + } else if (err == -ESPIPE) { + break; + } return err; + } core->core_index = core_num++; bus->nr_cores++; |