mtd: nand: omap2: return error code of nand_scan_ident/tail() on error
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 4 Nov 2016 10:43:04 +0000 (19:43 +0900)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Mon, 7 Nov 2016 13:48:50 +0000 (14:48 +0100)
The nand_scan_ident/tail() returns an appropriate error value when
it fails.  Use it instead of the fixed error code -ENXIO.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/omap2.c

index 0934c3b3f70ef5cc892da546941ad6c8c3c92a10..2a52101120d466dc81d27eb8ac2c9fd10b19fb5e 100644 (file)
@@ -1895,10 +1895,10 @@ static int omap_nand_probe(struct platform_device *pdev)
 
        /* scan NAND device connected to chip controller */
        nand_chip->options |= info->devsize & NAND_BUSWIDTH_16;
-       if (nand_scan_ident(mtd, 1, NULL)) {
+       err = nand_scan_ident(mtd, 1, NULL);
+       if (err) {
                dev_err(&info->pdev->dev,
                        "scan failed, may be bus-width mismatch\n");
-               err = -ENXIO;
                goto return_error;
        }
 
@@ -2154,10 +2154,9 @@ static int omap_nand_probe(struct platform_device *pdev)
 
 scan_tail:
        /* second phase scan */
-       if (nand_scan_tail(mtd)) {
-               err = -ENXIO;
+       err = nand_scan_tail(mtd);
+       if (err)
                goto return_error;
-       }
 
        if (dev->of_node)
                mtd_device_register(mtd, NULL, 0);