]> git.baikalelectronics.ru Git - kernel.git/commit
mtd: mtdpart: Make ECC stat handling consistent
authorBoris Brezillon <boris.brezillon@free-electrons.com>
Tue, 9 Jan 2018 08:50:33 +0000 (09:50 +0100)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Tue, 16 Jan 2018 14:23:21 +0000 (15:23 +0100)
commit24dbf4369112a160b11e8ef46576ec25303a98cb
tree1e0cdc8442572427ad928b57f486462e6bcf2e6f
parentc99189fcaf8fdfd00f66688cc693aff3287dad17
mtd: mtdpart: Make ECC stat handling consistent

part_read() and part_read_oob() were counting ECC failures and
bitflips differently. Adjust part_read_oob() to mimic what is done in
part_read(). This is needed to use ->_read_oob() as a fallback when
when ->_read() is not implemented.

Note that bitflips and ECC failure accounting on MTD partitions is
broken by design, because nothing prevents concurrent accesses to the
underlying master MTD device between the moment we save the stats in a
local variable and the moment master->_read[_oob]() returns. It's not
something that can easily be fixed, so leave it like that for now.

Suggested-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Tested-by: Ladislav Michl <ladis@linux-mips.org>
drivers/mtd/mtdpart.c