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.masah...@socionext.com>
---

 drivers/mtd/nand/omap2.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 5513bfd9..6c985d3 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -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);
-- 
1.9.1

Reply via email to