mtd: raw: nand: gpmi-nand data corruption @ v5.10.184

han.xu han.xu at nxp.com
Wed Jun 21 08:26:38 PDT 2023


On 23/06/21 04:27PM, Kegl Rohit wrote:
> Hello!
> 
> Using imx7d and rt stable kernel tree.
> 
> After upgrading to v5.10.184-rt90 the rootfs ubifs mtd partition got corrupted.
> https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git/tag/?h=v5.10.184-rt90
> 
> After reverting the latest patch
> (e4e4b24b42e710db058cc2a79a7cf16bf02b4915), the rootfs partition did
> not get corrupted.
> https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git/commit/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c?h=v5.10.184-rt90&id=e4e4b24b42e710db058cc2a79a7cf16bf02b4915
> 
> The commit message states the timeout calculation was changed.
> Here are the calculated timeouts `busy_timeout_cycles` before (_old)
> and after the patch (_new):
> 
> [    0.491534] busy_timeout_cycles_old 4353
> [    0.491604] busy_timeout_cycles_new 1424705
> [    0.492300] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xdc
> [    0.492310] nand: Macronix MX30LF4G28AC
> [    0.492316] nand: 512 MiB, SLC, erase size: 128 KiB, page size:
> 2048, OOB size: 112
> [    0.492488] busy_timeout_cycles_old 4353
> [    0.492493] busy_timeout_cycles_new 1424705
> [    0.492863] busy_timeout_cycles_old 2510
> [    0.492872] busy_timeout_cycles_new 350000
> 
> The new timeouts are set a lot higher. Higher timeouts should not be
> an issue. Lower timeouts could be an issue.
> But because of this high timeouts gpmi-nand is broken for us.
> 
> For now we simple reverted the change.
> The new calculations seem to be flaky, a previous "fix backport" was
> already reverted because of data corruption.
> https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git/commit/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c?h=v5.10.184-rt90&id=cc5ee0e0eed0bec2b7cc1d0feb9405e884eace7d
> 
> Any guesses why the high timeout causes issues?

high timeout with wrong calculation may overflow and causes DEVICE_BUSY_TIMEOUT
register turns to be 0.

> 
> 
> Thanks in advance!
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/



More information about the linux-mtd mailing list