Timeout in denali.c on Micron nandflash (Altera SoC)

Thorsten Christiansson thorsten.christiansson at idquantique.com
Wed Mar 15 05:06:46 PDT 2017


Hi all,

Follow-up:

> > I'm using Linux on an Altera SoC (Arria V), on which I'm using UBIFS
on a
> > nandflash from Micron (MT29F8G08ADADAH4).  I have a 400Mb r/w
partition on
> > which I have a sqlite3-based database. We're running an application that
> > reads/writes fairly small blocks. After running for about a week at
moderate
> > load, I get an error message, and the filesystem becomes read-only.
> >
> > The message I get is a timeout, originating in the denali.c driver.
> > [11744.733748] timeout occurred, status = 0x0, mask = 0x4
> > [11745.733685] timeout occurred, status = 0x0, mask = 0x120

> Well, 4.4. is not very fresh. Maybe it saw fixes in recent version.
> Can you please give MTD tests a try?

I have now got a clean 4.10 up and running, and the MTD tests show the
same error even quicker:
# insmod /lib/modules/4.10.0/kernel/drivers/mtd/tests/mtd_stresstest.ko
dev=1
[  488.721072]
[  488.722575] =================================================
[  488.728337] mtd_stresstest: MTD device: 1
[  488.732342] mtd_stresstest: MTD device size 536870912, eraseblock
size 131072, page size 2048, count of eraseblocks 4096, pages per
eraseblock 64, OOB size 64
[  488.748845] mtd_test: scanning for bad eraseblocks
[  488.756947] mtd_test: scanned 4096 eraseblocks, 0 are bad
[  488.762322] mtd_stresstest: doing operations
[  488.766601] mtd_stresstest: 0 operations done
[  490.243583] timeout occurred, status = 0x4, mask = 0x3
[  492.003933] timeout occurred, status = 0x4, mask = 0x3
[  493.363590] timeout occurred, status = 0x4, mask = 0x3
[  494.483584] timeout occurred, status = 0x4, mask = 0x3
[  495.603585] timeout occurred, status = 0x4, mask = 0x3
[  496.723582] timeout occurred, status = 0x4, mask = 0x3
[  498.083600] timeout occurred, status = 0x4, mask = 0x3
[  499.203582] timeout occurred, status = 0x4, mask = 0x3
[  500.323921] timeout occurred, status = 0x4, mask = 0x3
[  501.523590] timeout occurred, status = 0x4, mask = 0x3
[  502.723584] timeout occurred, status = 0x4, mask = 0x3
[  503.843583] timeout occurred, status = 0x4, mask = 0x3
[  505.203584] timeout occurred, status = 0x4, mask = 0x3
^C[  506.883588] timeout occurred, status = 0x4, mask = 0x3
[  506.913867] mtd_stresstest: aborting test due to pending signal!
[  506.919940] mtd_stresstest: error -4 occurred
[  506.924320] =================================================

Any ideas on how to go forwards from here are very welcome.


regards,
Thorsten Christiansson
Security Engineer
ID Quantique
thorsten.christiansson at idquantique.com
<mailto:thorsten.christiansson at idquantique.com>
Tel: +41 22 301 8373 Fax: +41 22 301 8379

<https://www.linkedin.com/company/id-quantique-sa>




More information about the linux-mtd mailing list