mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-07 14:24:18 +08:00
mtd: rawnand: Ensure continuous reads are well disabled
The cont_read.ongoing flag should only be enabled at the beginning of a read operation, and also disabled at its end, so we never end up triggering nasty side effects outside of this scope. The mtd core being highly serialized, we should not be bothered by parallel accesses anyway. In case we reach the end of a read operation and the boolean was not properly disabled, it's a bug, but it's totally manageable. So warn, and then fix the boolean state. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20240307115315.1942678-2-miquel.raynal@bootlin.com
This commit is contained in:
parent
78ffbefba8
commit
4120aa0e39
@ -3728,6 +3728,9 @@ read_retry:
|
||||
}
|
||||
nand_deselect_target(chip);
|
||||
|
||||
if (WARN_ON_ONCE(chip->cont_read.ongoing))
|
||||
chip->cont_read.ongoing = false;
|
||||
|
||||
ops->retlen = ops->len - (size_t) readlen;
|
||||
if (oob)
|
||||
ops->oobretlen = ops->ooblen - oobreadlen;
|
||||
|
Loading…
Reference in New Issue
Block a user