mtd: rawnand: meson: invalidate cache on polling ECC bit
authorArseniy Krasnov <avkrasnov@sberdevices.ru>
Mon, 13 Mar 2023 07:32:44 +0000 (10:32 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Apr 2023 10:10:43 +0000 (12:10 +0200)
commit43b70c9c4c903ec400de32604f298b3147a1ab0a
tree65ebe8911aac6e5b9818c64943b0c71897efa171
parent53dc0b69fbac82ab6b2286728e100a77a862fa83
mtd: rawnand: meson: invalidate cache on polling ECC bit

[ Upstream commit e732e39ed9929c05fd219035bc9653ba4100d4fa ]

'info_buf' memory is cached and driver polls ECC bit in it. This bit
is set by the NAND controller. If 'usleep_range()' returns before device
sets this bit, 'info_buf' will be cached and driver won't see update of
this bit and will loop forever.

Fixes: 8fae856c5350 ("mtd: rawnand: meson: add support for Amlogic NAND flash controller")
Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/d4ef0bd6-816e-f6fa-9385-f05f775f0ae2@sberdevices.ru
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/nand/raw/meson_nand.c