mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
mtd: Remove duplicate checks on mtd_oob_ops parameter
Some of the check done in custom ->_read/write_oob() implementation are already done by the core (in mtd_check_oob_ops()). Suggested-by: Peter Pan <peterpansjtu@gmail.com> [Remove redundant checks done in mtdpart.c] Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Tested-by: Ladislav Michl <ladis@linux-mips.org>
This commit is contained in:
@@ -108,25 +108,6 @@ static int part_read_oob(struct mtd_info *mtd, loff_t from,
|
||||
struct mtd_ecc_stats stats;
|
||||
int res;
|
||||
|
||||
if (from >= mtd->size)
|
||||
return -EINVAL;
|
||||
if (ops->datbuf && from + ops->len > mtd->size)
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
* If OOB is also requested, make sure that we do not read past the end
|
||||
* of this partition.
|
||||
*/
|
||||
if (ops->oobbuf) {
|
||||
size_t len, pages;
|
||||
|
||||
len = mtd_oobavail(mtd, ops);
|
||||
pages = mtd_div_by_ws(mtd->size, mtd);
|
||||
pages -= mtd_div_by_ws(from, mtd);
|
||||
if (ops->ooboffs + ops->ooblen > pages * len)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
stats = part->parent->ecc_stats;
|
||||
res = part->parent->_read_oob(part->parent, from + part->offset, ops);
|
||||
if (unlikely(mtd_is_eccerr(res)))
|
||||
@@ -191,10 +172,6 @@ static int part_write_oob(struct mtd_info *mtd, loff_t to,
|
||||
{
|
||||
struct mtd_part *part = mtd_to_part(mtd);
|
||||
|
||||
if (to >= mtd->size)
|
||||
return -EINVAL;
|
||||
if (ops->datbuf && to + ops->len > mtd->size)
|
||||
return -EINVAL;
|
||||
return part->parent->_write_oob(part->parent, to + part->offset, ops);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user