aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c')
-rw-r--r--target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c b/target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c
index b0fcda446d..7e5baf0369 100644
--- a/target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c
+++ b/target/linux/mediatek/files-5.10/drivers/mtd/mtk-snand/mtk-snand-mtd.c
@@ -57,7 +57,7 @@ static int mtk_snand_mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
int ret;
/* Do not allow write past end of device */
- if ((instr->addr + instr->len) > mtd->size) {
+ if ((instr->addr + instr->len) > msm->cinfo.chipsize) {
dev_err(msm->pdev.dev,
"attempt to erase beyond end of device\n");
return -EINVAL;
@@ -194,7 +194,7 @@ static int mtk_snand_mtd_read_oob(struct mtd_info *mtd, loff_t from,
maxooblen = mtd_oobavail(mtd, ops);
/* Do not allow read past end of device */
- if (ops->datbuf && (from + ops->len) > mtd->size) {
+ if (ops->datbuf && (from + ops->len) > msm->cinfo.chipsize) {
dev_err(msm->pdev.dev,
"attempt to read beyond end of device\n");
return -EINVAL;
@@ -205,9 +205,11 @@ static int mtk_snand_mtd_read_oob(struct mtd_info *mtd, loff_t from,
return -EINVAL;
}
- if (unlikely(from >= mtd->size ||
- ops->ooboffs + ops->ooblen > ((mtd->size >> mtd->writesize_shift) -
- (from >> mtd->writesize_shift)) * maxooblen)) {
+ if (unlikely(from >= msm->cinfo.chipsize ||
+ ops->ooboffs + ops->ooblen >
+ ((msm->cinfo.chipsize >> mtd->writesize_shift) -
+ (from >> mtd->writesize_shift)) *
+ maxooblen)) {
dev_err(msm->pdev.dev,
"attempt to read beyond end of device\n");
return -EINVAL;
@@ -321,7 +323,7 @@ static int mtk_snand_mtd_write_oob(struct mtd_info *mtd, loff_t to,
maxooblen = mtd_oobavail(mtd, ops);
/* Do not allow write past end of device */
- if (ops->datbuf && (to + ops->len) > mtd->size) {
+ if (ops->datbuf && (to + ops->len) > msm->cinfo.chipsize) {
dev_err(msm->pdev.dev,
"attempt to write beyond end of device\n");
return -EINVAL;
@@ -333,9 +335,11 @@ static int mtk_snand_mtd_write_oob(struct mtd_info *mtd, loff_t to,
return -EINVAL;
}
- if (unlikely(to >= mtd->size ||
- ops->ooboffs + ops->ooblen > ((mtd->size >> mtd->writesize_shift) -
- (to >> mtd->writesize_shift)) * maxooblen)) {
+ if (unlikely(to >= msm->cinfo.chipsize ||
+ ops->ooboffs + ops->ooblen >
+ ((msm->cinfo.chipsize >> mtd->writesize_shift) -
+ (to >> mtd->writesize_shift)) *
+ maxooblen)) {
dev_err(msm->pdev.dev,
"attempt to write beyond end of device\n");
return -EINVAL;