|
@@ -1474,18 +1474,13 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
|
|
|
|
|
|
if (unlikely(oob)) {
|
|
if (unlikely(oob)) {
|
|
|
|
|
|
- /* Raw mode does data:oob:data:oob */
|
|
|
|
- if (ops->mode != MTD_OOB_RAW) {
|
|
|
|
- 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);
|
|
|
|
|
|
+ int toread = min(oobreadlen, max_oobsize);
|
|
|
|
+
|
|
|
|
+ if (toread) {
|
|
|
|
+ oob = nand_transfer_oob(chip,
|
|
|
|
+ oob, ops, toread);
|
|
|
|
+ oobreadlen -= toread;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (!(chip->options & NAND_NO_READRDY)) {
|
|
if (!(chip->options & NAND_NO_READRDY)) {
|