mtd: nand: brcmnand: return error code of nand_scan_ident/tail() on error
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 4 Nov 2016 10:42:59 +0000 (19:42 +0900)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Mon, 7 Nov 2016 13:48:47 +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/brcmnand/brcmnand.c

index 9d2424b..42ebd73 100644 (file)
@@ -2209,8 +2209,9 @@ static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn)
        nand_writereg(ctrl, cfg_offs,
                      nand_readreg(ctrl, cfg_offs) & ~CFG_BUS_WIDTH);
 
-       if (nand_scan_ident(mtd, 1, NULL))
-               return -ENXIO;
+       ret = nand_scan_ident(mtd, 1, NULL);
+       if (ret)
+               return ret;
 
        chip->options |= NAND_NO_SUBPAGE_WRITE;
        /*
@@ -2234,8 +2235,9 @@ static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn)
        if (ret)
                return ret;
 
-       if (nand_scan_tail(mtd))
-               return -ENXIO;
+       ret = nand_scan_tail(mtd);
+       if (ret)
+               return ret;
 
        return mtd_device_register(mtd, NULL, 0);
 }