Problem with AT91RM9200 and intel cfi flash

Mirco Fuchs
2005-07-28T09:21:50Z

Hello,

i have a problem with unmounting a jffs2 partition which is located on the
Intel StrataFlash 28F640J3. The System is an AT91RM9200 with kernel version 2.6.12
(and the appropriate patches from maxim.org.za/AT91RM9200/2.6).

I mount the rootfs via nfs and all works fine. I created flash patitions and i want to use one
with a jffs2 filesystem. Therefore i use the (latest) mtd tools (mkfs.jffs2 revision 1.45). I can
mount the partition with

#> mount -t jffs2 /dev/mtdblock3 /mnt/jffs2

and it is possible to read and write to the partition.

The problem occurs when i try to unmount the partition with

#> umount /mnt/jffs2

The instruction aborts with the following error:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c030c000
[00000000] *pgd=20019031, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1]
Modules linked in:
CPU: 0
PC is at __down_write+0x9c/0xd4
LR is at jffs2_flush_wbuf_pad+0x1c/0x3c
pc : [<c01b235c>] lr : [<c00d8140>] Not tainted
sp : c3dbbe98 ip : c3dbbebc fp : c3dbbeb8
r10: 401772a0 r9 : c3dba000 r8 : c0020dc4
r7 : c01ed02c r6 : c3c14330 r5 : c3c141f4 r4 : c03ed800
r3 : c3c141f8 r2 : c3dbbe98 r1 : 00000000 r0 : c3c141f4
Flags: nzcv IRQs off FIQs on Mode SVC_32 Segment user
Control: C000717F Table: 2030C000 DAC: 00000015
Process umount (pid: 167, stack limit = 0xc3dba194)
Stack: (0xc3dbbe98 to 0xc3dbc000)
be80: c3c141f8 c0092fc8
bea0: c03ed800 00000002 c3c140d8 c3dbbed0 c3dbbebc c00d8140 c01b22d0 c3c14108
bec0: c3c14330 c3dbbee4 c3dbbed4 c00d6bc8 c00d8134 c3c142e4 c3dbbefc c3dbbee8
bee0: c0070254 c00d6b9c c3c142e4 c3e00d3c c3dbbf1c c3dbbf00 c0075ce8 c00701c0
bf00: c3c140d8 c01ed07c c3dbbf4c 00000016 c3dbbf30 c3dbbf20 c00d7058 c0075cb0
bf20: c3c142e4 c3dbbf48 c3dbbf34 c0075c00 c00d7054 00000000 00000000 c3dbbfa4
bf40: c3dbbf4c c008c0a0 c0075bb8 c3e00d3c c02e7ac4 c3db41ed 00000003 00000000
bf60: 00000001 00000001 00000000 00000000 00000000 00000000 00000000 00000000
bf80: 00000000 00000000 00001000 00086268 00000000 bebf9e6c 00000000 c3dbbfa8
bfa0: c0020c40 c008c018 00086268 c0027b40 bebf9e6c bebf9e6e 0008626a 0000006d
bfc0: 00086268 00000000 bebf9e6c 00000000 00077140 0000cc70 401772a0 00000000
bfe0: 401269a0 bebf9e58 00050f68 401269a4 60000010 bebf9e6c e3530000 1afffff5
Backtrace:
[<c01b22c0>] (__down_write+0x0/0xd4) from [<c00d8140>] (jffs2_flush_wbuf_pad+0x1c/0x3c)
r4 = C3C140D8
[<c00d8124>] (jffs2_flush_wbuf_pad+0x0/0x3c) from [<c00d6bc8>] (jffs2_sync_fs+0x3c/0x68)
r5 = C3C14330 r4 = C3C14108
[<c00d6b8c>] (jffs2_sync_fs+0x0/0x68) from [<c0070254>] (fsync_super+0xa4/0xc4)
r4 = C3C142E4
[<c00701b0>] (fsync_super+0x0/0xc4) from [<c0075ce8>] (generic_shutdown_super+0x48/0x140)
r5 = C3E00D3C r4 = C3C142E4
[<c0075ca0>] (generic_shutdown_super+0x0/0x140) from [<c00d7058>] (jffs2_kill_sb+0x14/0x28)
r7 = 00000016 r6 = C3DBBF4C r5 = C01ED07C r4 = C3C140D8
[<c00d7044>] (jffs2_kill_sb+0x0/0x28) from [<c0075c00>] (deactivate_super+0x58/0x6c)
r4 = C3C142E4
[<c0075ba8>] (deactivate_super+0x0/0x6c) from [<c008c0a0>] (sys_umount+0x98/0xa0)
r5 = 00000000 r4 = 00000000
[<c008c008>] (sys_umount+0x0/0xa0) from [<c0020c40>] (ret_fast_syscall+0x0/0x2c)
r6 = BEBF9E6C r5 = 00000000 r4 = 00086268
Code: e5931004 e24b2020 e50b3020 e5832004 (e5812000)

Segmentation fault
/ #
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

The point is that there still is a prompt after this error. I can see that the partition was
unmounted but trying to remount the jffs2 partition fails and the cpu hangs.

I checked if the settings of the SMC Controller are correct and i think they are.

Are there any hints or advises?

Best Regards

Mirco

_________________________________________________________________________
Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle
Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179