diff options
Diffstat (limited to 'drivers/mtd/chips')
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0001.c | 2 | ||||
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0020.c | 9 | ||||
-rw-r--r-- | drivers/mtd/chips/cfi_util.c | 6 |
3 files changed, 1 insertions, 16 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c index 4d04551cffd7..27008ae8f695 100644 --- a/drivers/mtd/chips/cfi_cmdset_0001.c +++ b/drivers/mtd/chips/cfi_cmdset_0001.c | |||
@@ -1324,7 +1324,7 @@ static int cfi_intelext_point(struct mtd_info *mtd, loff_t from, size_t len, | |||
1324 | int chipnum; | 1324 | int chipnum; |
1325 | int ret = 0; | 1325 | int ret = 0; |
1326 | 1326 | ||
1327 | if (!map->virt || (from + len > mtd->size)) | 1327 | if (!map->virt) |
1328 | return -EINVAL; | 1328 | return -EINVAL; |
1329 | 1329 | ||
1330 | /* Now lock the chip(s) to POINT state */ | 1330 | /* Now lock the chip(s) to POINT state */ |
diff --git a/drivers/mtd/chips/cfi_cmdset_0020.c b/drivers/mtd/chips/cfi_cmdset_0020.c index 3861cca97bb0..160402fb65d1 100644 --- a/drivers/mtd/chips/cfi_cmdset_0020.c +++ b/drivers/mtd/chips/cfi_cmdset_0020.c | |||
@@ -904,12 +904,6 @@ static int cfi_staa_erase_varsize(struct mtd_info *mtd, | |||
904 | int i, first; | 904 | int i, first; |
905 | struct mtd_erase_region_info *regions = mtd->eraseregions; | 905 | struct mtd_erase_region_info *regions = mtd->eraseregions; |
906 | 906 | ||
907 | if (instr->addr > mtd->size) | ||
908 | return -EINVAL; | ||
909 | |||
910 | if ((instr->len + instr->addr) > mtd->size) | ||
911 | return -EINVAL; | ||
912 | |||
913 | /* Check that both start and end of the requested erase are | 907 | /* Check that both start and end of the requested erase are |
914 | * aligned with the erasesize at the appropriate addresses. | 908 | * aligned with the erasesize at the appropriate addresses. |
915 | */ | 909 | */ |
@@ -1155,9 +1149,6 @@ static int cfi_staa_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len) | |||
1155 | if (len & (mtd->erasesize -1)) | 1149 | if (len & (mtd->erasesize -1)) |
1156 | return -EINVAL; | 1150 | return -EINVAL; |
1157 | 1151 | ||
1158 | if ((len + ofs) > mtd->size) | ||
1159 | return -EINVAL; | ||
1160 | |||
1161 | chipnum = ofs >> cfi->chipshift; | 1152 | chipnum = ofs >> cfi->chipshift; |
1162 | adr = ofs - (chipnum << cfi->chipshift); | 1153 | adr = ofs - (chipnum << cfi->chipshift); |
1163 | 1154 | ||
diff --git a/drivers/mtd/chips/cfi_util.c b/drivers/mtd/chips/cfi_util.c index 8e464054a631..f992418f40a8 100644 --- a/drivers/mtd/chips/cfi_util.c +++ b/drivers/mtd/chips/cfi_util.c | |||
@@ -173,12 +173,6 @@ int cfi_varsize_frob(struct mtd_info *mtd, varsize_frob_t frob, | |||
173 | int i, first; | 173 | int i, first; |
174 | struct mtd_erase_region_info *regions = mtd->eraseregions; | 174 | struct mtd_erase_region_info *regions = mtd->eraseregions; |
175 | 175 | ||
176 | if (ofs > mtd->size) | ||
177 | return -EINVAL; | ||
178 | |||
179 | if ((len + ofs) > mtd->size) | ||
180 | return -EINVAL; | ||
181 | |||
182 | /* Check that both start and end of the requested erase are | 176 | /* Check that both start and end of the requested erase are |
183 | * aligned with the erasesize at the appropriate addresses. | 177 | * aligned with the erasesize at the appropriate addresses. |
184 | */ | 178 | */ |