|
@@ -1723,8 +1723,7 @@ 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_OPS_AUTO_OOB ?
|
|
|
- mtd->oobavail : mtd->oobsize;
|
|
|
+ uint32_t max_oobsize = mtd_oobavail(mtd, ops);
|
|
|
|
|
|
uint8_t *bufpoi, *oob, *buf;
|
|
|
int use_bufpoi;
|
|
@@ -2075,10 +2074,7 @@ static int nand_do_read_oob(struct mtd_info *mtd, loff_t from,
|
|
|
|
|
|
stats = mtd->ecc_stats;
|
|
|
|
|
|
- if (ops->mode == MTD_OPS_AUTO_OOB)
|
|
|
- len = mtd->oobavail;
|
|
|
- else
|
|
|
- len = mtd->oobsize;
|
|
|
+ len = mtd_oobavail(mtd, ops);
|
|
|
|
|
|
if (unlikely(ops->ooboffs >= len)) {
|
|
|
pr_debug("%s: attempt to start read outside oob\n",
|
|
@@ -2575,8 +2571,7 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to,
|
|
|
uint32_t writelen = ops->len;
|
|
|
|
|
|
uint32_t oobwritelen = ops->ooblen;
|
|
|
- uint32_t oobmaxlen = ops->mode == MTD_OPS_AUTO_OOB ?
|
|
|
- mtd->oobavail : mtd->oobsize;
|
|
|
+ uint32_t oobmaxlen = mtd_oobavail(mtd, ops);
|
|
|
|
|
|
uint8_t *oob = ops->oobbuf;
|
|
|
uint8_t *buf = ops->datbuf;
|
|
@@ -2766,10 +2761,7 @@ static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
|
|
|
pr_debug("%s: to = 0x%08x, len = %i\n",
|
|
|
__func__, (unsigned int)to, (int)ops->ooblen);
|
|
|
|
|
|
- if (ops->mode == MTD_OPS_AUTO_OOB)
|
|
|
- len = mtd->oobavail;
|
|
|
- else
|
|
|
- len = mtd->oobsize;
|
|
|
+ len = mtd_oobavail(mtd, ops);
|
|
|
|
|
|
/* Do not allow write past end of page */
|
|
|
if ((ops->ooboffs + ops->ooblen) > len) {
|