]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/mtd/nand/nand_base.c
nand: remove bogus patch imported from TI BSP
[karo-tx-uboot.git] / drivers / mtd / nand / nand_base.c
index 9b2cea131f13b72fd13e5f6af9c004792f4a5658..de2c713bf15406aa50dc0fa892d0f078c87cb2fb 100644 (file)
@@ -1208,6 +1208,9 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
        int ret = 0;
        uint32_t readlen = ops->len;
        uint32_t oobreadlen = ops->ooblen;
+       uint32_t max_oobsize = ops->mode == MTD_OOB_AUTO ?
+               mtd->oobavail : mtd->oobsize;
+
        uint8_t *bufpoi, *oob, *buf;
 
        stats = mtd->ecc_stats;
@@ -1262,18 +1265,14 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
                        buf += bytes;
 
                        if (unlikely(oob)) {
-                               /* Raw mode does data:oob:data:oob */
-                               if (ops->mode != MTD_OOB_RAW) {
-                                       int toread = min(oobreadlen,
-                                               chip->ecc.layout->oobavail);
+
+                               int toread = min(oobreadlen, max_oobsize);
+
                                if (toread) {
                                        oob = nand_transfer_oob(chip,
                                                oob, ops, toread);
                                        oobreadlen -= toread;
                                }
-                               } else
-                                       buf = nand_transfer_oob(chip,
-                                               buf, ops, mtd->oobsize);
                        }
 
                        if (!(chip->options & NAND_NO_READRDY)) {