Don't return a obfuscated null pointer using ERR_PTR(0). If the no device is found clearly return -ENODEV. This makes the code more clear and matches the comment of doc_probe_device().
Signed-off-by: Richard Weinberger <rich...@nod.at> --- drivers/mtd/devices/docg3.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c index 5e67b4a..630e29a 100644 --- a/drivers/mtd/devices/docg3.c +++ b/drivers/mtd/devices/docg3.c @@ -1902,7 +1902,7 @@ doc_probe_device(struct docg3_cascade *cascade, int floor, struct device *dev) chip_id = doc_register_readw(docg3, DOC_CHIPID); chip_id_inv = doc_register_readw(docg3, DOC_CHIPID_INV); - ret = 0; + ret = -ENODEV; if (chip_id != (u16)(~chip_id_inv)) { goto nomem4; } @@ -2068,13 +2068,10 @@ static int __init docg3_probe(struct platform_device *pdev) mtd = doc_probe_device(cascade, floor, dev); if (IS_ERR(mtd)) { ret = PTR_ERR(mtd); - goto err_probe; - } - if (!mtd) { - if (floor == 0) - goto notfound; - else + if (ret == -ENODEV && floor == 0) continue; + else + goto err_probe; } cascade->floors[floor] = mtd; ret = mtd_device_parse_register(mtd, part_probes, NULL, NULL, @@ -2091,10 +2088,9 @@ static int __init docg3_probe(struct platform_device *pdev) doc_dbg_register(cascade->floors[0]->priv); return 0; -notfound: - ret = -ENODEV; - dev_info(dev, "No supported DiskOnChip found\n"); err_probe: + if (ret == -ENODEV) + dev_info(dev, "No supported DiskOnChip found\n"); free_bch(cascade->bch); for (floor = 0; floor < DOC_MAX_NBFLOORS; floor++) if (cascade->floors[floor]) -- 1.8.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/