public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Trouble with new marvell_nand driver on PXA3xx
@ 2018-09-24  6:45 Daniel Mack
  2018-09-24  7:20 ` Miquel Raynal
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Daniel Mack @ 2018-09-24  6:45 UTC (permalink / raw)
  To: Miquel Raynal, Boris Brezillon, linux-mtd
  Cc: linux-mtd@lists.infradead.org, Chris Packham

Hi Miquel,

I'm having issues using the new marvell_nand driver on a PXA3xx based 
platform. My test does a ubiformat on the chip, then creates a volume, 
mounts it and runs bonnie++ on the file system. After some time (usually 
less than half a minute), the driver spits out a warning like the one 
below, and eventually the UBI layer bails out, which leads to a r/o 
remount and (possibly) file system corruptions.

FWIW, this is the test script I'm using:

 > #!/bin/sh
 >
 > UBIDEV=0
 > UBIMTD=3
 >
 > umount /mnt
 > ubidetach /dev/ubi_ctrl -d $UBIDEV
 > ubiformat -y /dev/mtd$UBIMTD
 > ubiattach /dev/ubi_ctrl -d $UBIDEV -m $UBIMTD
 > ubimkvol /dev/ubi$UBIDEV -N test -m
 > mount -t ubifs ubi0:test /mnt
 > bonnie\+\+ -d /mnt -u 0:0


The legacy pxa3xx_nand driver didn't have this issue, but my system was 
also running a much older kernel with that. I'm currently still 
struggling to resurrect the old code, but I'm running into "Wait time 
out!!!" conditions immediately right now. Not sure what's going on.

Interestingly, I can't seem to reproduce the bug with any of the mtd 
kernel tests, I've tried all of them, several times, and all succeed. So 
a file system test that includes the UBI/UBIFS layers seems to trigger 
different things in the driver than the the tests that operate on the 
mtd device directly.

I'v also tried this with and without the keep-config DT property, but 
that didn't change anything.

Could you try my script on some other device that runs the new driver 
and see if you can reproduce? If bonnie++ is unavailable, extracting a 
bigger tarball a couple of times will also trigger the bug at some point.

Meanwhile, I can start poking around in the driver. I'd be grateful for 
a hint on where to start.


Thanks,
Daniel


/ # bonnie\+\+ -d /mnt -u 0:0
Using uid:0, gid:0.
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...[ 1290.458167] marvell-nfc 
43100000.nand-controller: Timeout waiting for RB signal
[ 1290.465532] ubi0 error: ubi_io_write: error -110 while writing 2048 
bytes to PEB 905:67584, written 0 bytes
[ 1290.475325] CPU: 0 PID: 1340 Comm: bonnie++ Not tainted 4.19.0-rc4+ #438
[ 1290.482055] Hardware name: Marvell PXA3xx (Device Tree Support)
[ 1290.487934] Backtrace:
[ 1290.490488] [<c0106120>] (dump_backtrace) from [<c01063dc>] 
(show_stack+0x18/0x1c)
[ 1290.498092]  r6:00000389 r5:00000000 r4:07130800 r3:2ebc2099
[ 1290.503745] [<c01063c4>] (show_stack) from [<c0686a64>] 
(dump_stack+0x20/0x28)
[ 1290.511013] [<c0686a44>] (dump_stack) from [<c045cf08>] 
(ubi_io_write+0x418/0x6bc)
[ 1290.518637] [<c045caf0>] (ubi_io_write) from [<c0459f80>] 
(ubi_eba_write_leb+0xc0/0x6f8)
[ 1290.526692]  r10:00000000 r9:c6769600 r8:00000104 r7:00000104 
r6:c686ec00 r5:c602d000
[ 1290.534546]  r4:00000000
[ 1290.537088] [<c0459ec0>] (ubi_eba_write_leb) from [<c04587f8>] 
(ubi_leb_write+0xc4/0xdc)
[ 1290.545209]  r10:00000000 r9:c6769600 r8:00000800 r7:00000104 
r6:00000080 r5:c6754000
[ 1290.553061]  r4:000007ff
[ 1290.555606] [<c0458734>] (ubi_leb_write) from [<c02d9420>] 
(ubifs_leb_write+0x88/0xf8)
[ 1290.563552]  r6:0000f800 r5:c6029000 r4:c6754000
[ 1290.568235] [<c02d9398>] (ubifs_leb_write) from [<c02da5b0>] 
(ubifs_wbuf_write_nolock+0x328/0x704)
[ 1290.577141]  r8:00000188 r7:c6beddc0 r6:00000188 r5:c6029000 r4:c67b5480
[ 1290.583909] [<c02da288>] (ubifs_wbuf_write_nolock) from [<c02cd260>] 
(write_head.constprop.1+0x3c/0x5c)
[ 1290.593333]  r10:00000000 r9:c6769648 r8:c6ce4000 r7:c6beddc0 
r6:c38809f0 r5:c6769600
[ 1290.601177]  r4:c67b5480
[ 1290.603720] [<c02cd224>] (write_head.constprop.1) from [<c02cd5dc>] 
(ubifs_jnl_update+0x35c/0x5ec)
[ 1290.612690]  r4:c6029000 r3:c6bedd48
[ 1290.616261] [<c02cd280>] (ubifs_jnl_update) from [<c02d3ce0>] 
(ubifs_create+0x134/0x1ec)
[ 1290.624384]  r10:c6ce4180 r9:c6ce4168 r8:c38767f8 r7:c6029000 
r6:c38809f0 r5:00000000
[ 1290.632238]  r4:c6ce4000
[ 1290.634785] [<c02d3bac>] (ubifs_create) from [<c01d0ba0>] 
(path_openat+0x770/0xe3c)
[ 1290.642475]  r10:c6ce4000 r9:c38767f8 r8:00000241 r7:c38767f8 
r6:00000000 r5:c666c280
[ 1290.650321]  r4:c6bede98
[ 1290.652858] [<c01d0430>] (path_openat) from [<c01d12b8>] 
(do_filp_open+0x4c/0xb0)
[ 1290.660376]  r10:00020000 r9:c6bec000 r8:c6068000 r7:00000001 
r6:c6bedf50 r5:c0a03008
[ 1290.668221]  r4:00000004
[ 1290.670761] [<c01d126c>] (do_filp_open) from [<c01befac>] 
(do_sys_open+0x124/0x1e0)
[ 1290.678447]  r7:00000241 r6:ffffff9c r5:c0a03008 r4:00000004
[ 1290.684086] [<c01bee88>] (do_sys_open) from [<c01bf0dc>] 
(sys_creat+0x28/0x30)
[ 1290.691351]  r10:00020000 r9:c6bec000 r8:c01011e4 r7:00000008 
r6:00000000 r5:0000f6c4
[ 1290.699204]  r4:b6c1f18c
[ 1290.701743] [<c01bf0b4>] (sys_creat) from [<c0101000>] 
(ret_fast_syscall+0x0/0x50)
[ 1290.709338] Exception stack(0xc6bedfa8 to 0xc6bedff0)
[ 1290.714367] dfa0:                   b6c1f18c 0000f6c4 b6c1f18c 
00000180 00000064 00000000
[ 1290.722566] dfc0: b6c1f18c 0000f6c4 00000000 00000008 beb2d8bc 
0002da58 00000000 0002c170
[ 1290.730768] dfe0: 00028010 beb2d850 00013f3c b6d20648
[ 1290.736257] ubi0: dumping 2048 bytes of data from PEB 905, offset 67584
...

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-09-26 21:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-24  6:45 Trouble with new marvell_nand driver on PXA3xx Daniel Mack
2018-09-24  7:20 ` Miquel Raynal
2018-09-24  8:14   ` Daniel Mack
2018-09-24 19:57   ` Daniel Mack
2018-09-24  8:09 ` Boris Brezillon
2018-09-24  8:30   ` Daniel Mack
2018-09-24  9:04     ` Boris Brezillon
2018-09-26 21:19 ` Daniel Mack

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox