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