All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Wool <vwool@ru.mvista.com>
To: Dirk Behme <dirk.behme@de.bosch.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: Oops using cfi_cmdset_0002.c
Date: Tue, 27 Dec 2005 09:44:04 +0300	[thread overview]
Message-ID: <43B0E2B4.6050309@ru.mvista.com> (raw)
In-Reply-To: <43B031A7.1030504@de.bosch.com>

Hi Dirk,

I assume you have a custom OMAP board? I don't recall seeing AMD NOR 
flash on any OMAP I've ever seen...
The wait queue is normally initialized in drivers/mtd/chips/gen_probe.c. 
cfi_cmdset_0001's case is a special one.
Interesting is 1) whether the flash chip is determined correctly 2) 
whether you've tried flash_eraseall w/o '-j' option.

Anyway, this looks like either a misconfiguration or a result of an 
write access past the allocated space.
Trying DEBUG_SLAB might also help.

Vitaly


Dirk Behme wrote:

> Hi,
>
> I encountered the same problem already reported in "Crash while
> accessing Intel 28F128 flash" in November:
>
> http://lists.infradead.org/pipermail/linux-mtd/2005-November/014361.html
>
> However, I use slightly different configuration. I use an embedded ARM
> system with kernel 2.6.15-rc4 and I try to establish a jffs2 filesystem
>  on a SPANSION S29GL512. Calling flash_eraseall crashes with an Ooops.
> System crashes while calling wake_up(&chip->wq); in put_chip().
>
> Please find kernel configuration, boot output and Ooops below. I enabled
>
> #define DEBUG_CFI_FEATURES
>
> in cfi_cmdset_0002.c.
>
> The issue seems to be in __wake_up_common:
>
> ...
> PC is at __wake_up_common+0x28/0x7c
> LR is at __init_begin+0x3fff8000/0x38
> pc : [<c00384d4>]    lr : [<00000000>]    Not tainted
> ...
>
> which is called by wake_up(). At PC address c00384d4 disassembly shows:
>
> c00384ac <__wake_up_common>:
> c00384ac:    e1a0c00d     mov    ip, sp
> c00384b0:    e92ddff0     stmdb    sp!, {r4, r5, r6, r7, r8, r9, sl, 
> fp, ip, lr, pc}
> c00384b4:    e24cb004     sub    fp, ip, #4    ; 0x4
> c00384b8:    e590e000     ldr    lr, [r0]    ; <====!!!!
> c00384bc:    e1a05000     mov    r5, r0
> c00384c0:    e15e0000     cmp    lr, r0
> c00384c4:    e1a0a001     mov    sl, r1
> c00384c8:    e1a04002     mov    r4, r2
> c00384cc:    e1a08003     mov    r8, r3
> c00384d0:    e59b9004     ldr    r9, [fp, #4]
> c00384d4:    e59e7000     ldr    r7, [lr]    ; <====!!!!
> ...
>
> If LR is zero, it is clear that this last command results in an Ooops.
> LR is loaded with content of r0, and r0 is the first parameter of
> __wake_up_common(). In __wake_up_common() the first parameter is
> wait_queue_head_t as passed by put_chip() & wake_up(&chip->wq):
>
> static void __wake_up_common(wait_queue_head_t *q, unsigned int mode,
>                  int nr_exclusive, int sync, void *key)
> {
>     struct list_head *tmp, *next;
>
>     list_for_each_safe(tmp, next, &q->task_list) {
>         wait_queue_t *curr;
>        ...
>
> with
>
> #define list_for_each_safe(pos, n, head) \
>     for (pos = (head)->next, n = pos->next; pos != (head); \
>         pos = n, n = pos->next)
>
> So, seems to me, that the access (&q->task_list)->next fails? May be the
> waitqueue isn't initialized correctly in cfi_cmdset_0002.c?
>
> Is
>
> init_waitqueue_head(&chip->wq);
> spin_lock_init(&chip->_spinlock);
>
> missing in cfi_cmdset_0002.c? In cfi_cmdset_0001.c it is done?
>
> Or any other ideas?
>
> Many thanks
>
> Dirk
>
> Kernel configuration:
>
> -- cut --
> ...
> #
> # Memory Technology Devices (MTD)
> #
> CONFIG_MTD=y
> CONFIG_MTD_DEBUG=y
> CONFIG_MTD_DEBUG_VERBOSE=3
> CONFIG_MTD_CONCAT=y
> CONFIG_MTD_PARTITIONS=y
> # CONFIG_MTD_REDBOOT_PARTS is not set
> CONFIG_MTD_CMDLINE_PARTS=y
> # CONFIG_MTD_AFS_PARTS is not set
>
> #
> # User Modules And Translation Layers
> #
> CONFIG_MTD_CHAR=y
> CONFIG_MTD_BLOCK=y
> # CONFIG_FTL is not set
> # CONFIG_NFTL is not set
> # CONFIG_INFTL is not set
> # CONFIG_RFD_FTL is not set
>
> #
> # RAM/ROM/Flash chip drivers
> #
> CONFIG_MTD_CFI=y
> CONFIG_MTD_JEDECPROBE=y
> CONFIG_MTD_GEN_PROBE=y
> # CONFIG_MTD_CFI_ADV_OPTIONS is not set
> # CONFIG_MTD_CFI_NOSWAP is not set
> # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
> # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
> CONFIG_MTD_MAP_BANK_WIDTH_1=y
> CONFIG_MTD_MAP_BANK_WIDTH_2=y
> CONFIG_MTD_MAP_BANK_WIDTH_4=y
> # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
> # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
> # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
> CONFIG_MTD_CFI_I1=y
> CONFIG_MTD_CFI_I2=y
> # CONFIG_MTD_CFI_I4 is not set
> # CONFIG_MTD_CFI_I8 is not set
> # CONFIG_MTD_CFI_INTELEXT is not set
> CONFIG_MTD_CFI_AMDSTD=y
> CONFIG_MTD_CFI_AMDSTD_RETRY=3
> # CONFIG_MTD_CFI_STAA is not set
> CONFIG_MTD_CFI_UTIL=y
> # CONFIG_MTD_RAM is not set
> # CONFIG_MTD_ROM is not set
> # CONFIG_MTD_ABSENT is not set
> # CONFIG_MTD_XIP is not set
>
> #
> # Mapping drivers for chip access
> #
> CONFIG_MTD_COMPLEX_MAPPINGS=y
> # CONFIG_MTD_PHYSMAP is not set
> # CONFIG_MTD_ARM_INTEGRATOR is not set
> # CONFIG_MTD_IMPA7 is not set
> CONFIG_MTD_OMAP_NOR=y
> # CONFIG_MTD_PLATRAM is not set
> ...
> -- cut --
>
> Boot messages:
>
> -- cut --
> ...
> omapflash.0: Found 1 x16 devices at 0x0 in 16-bit bank
>  Amd/Fujitsu Extended Query Table at 0x0040
> Using buffer write method
>   Silicon revision: 8
>   Address sensitive unlock: Required
>   Erase Suspend: Read/write
>   Block protection: 1 sectors per group
>   Temporary block unprotect: Not supported
>   Block protect/unprotect scheme: 8
>   Number of simultaneous operations: 0
>   Burst mode: Not supported
>   Page mode: 8 word page
>   Vpp Supply Minimum Program/Erase Voltage: 11.5 V
>   Vpp Supply Maximum Program/Erase Voltage: 12.5 V
>   Top/Bottom Boot Block: Uniform, Top WP
> omapflash.0: CFI does not contain boot bank location. Assuming top.
> number of CFI chips: 1
> cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
> Creating 4 MTD partitions on "omapflash.0":
> 0x00000000-0x00020000 : "bootloader"
> mtd: Giving out device 0 to bootloader
> 0x00020000-0x00040000 : "params"
> mtd: Giving out device 1 to params
> 0x00040000-0x00440000 : "kernel"
> mtd: Giving out device 2 to kernel
> 0x00440000-0x04000000 : "filesystem"
> mtd: Giving out device 3 to filesystem
> ...
> -- cut --
>
> Kernel Oops:
>
> -- cut --
> ...
> # cat /proc/mtd
> dev:    size   erasesize  name
> mtd0: 00020000 00020000 "bootloader"
> mtd1: 00020000 00020000 "params"
> mtd2: 00400000 00020000 "kernel"
> mtd3: 03bc0000 00020000 "filesystem"
> # flash_eraseall -j /dev/mtd3
> MTD_open
> MTD_ioctl
> Erasing 128 Kibyte @ 0 --  0 % MTD_ioctl
> complete.MTD do_erase_oneblock(): ERASE 0x00440000
> Unable to handle kernel NULL pointer dereference at virtual address 
> 00000000
> pgd = c7898000
> [00000000] *pgd=1788d031, *pte=00000000, *ppte=00000000
> Internal error: Oops: 17 [#1]
> Modules linked in:
> CPU: 0
> PC is at __wake_up_common+0x28/0x7c
> LR is at __init_begin+0x3fff8000/0x38
> pc : [<c00384d4>]    lr : [<00000000>]    Not tainted
> sp : c765fd18  ip : c765fd44  fp : c765fd40
> r10: 00000003  r9 : 00000000  r8 : 00000000
> r7 : c0b52118  r6 : ffffb8b2  r5 : c0b52134  r4 : 00000001
> r3 : 00000000  r2 : 00000001  r1 : 00000003  r0 : c0b52134
> Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  Segment user
> Control: 5317F  Table: 17898000  DAC: 00000015
> Process flash_eraseall (pid: 715, stack limit = 0xc765e194)
> Stack: (0xc765fd18 to 0xc7660000)
> fd00:                                                       c765e000
> 60000013
> fd20: ffffb8b2 c0b52118 c0801f88 c765e000 c0b52118 c765fd5c c765fd44
> c00445ec
> fd40: c0044540 00000000 00000002 00000001 c765fd84 c765fd60 c0160cdc
> c00445bc
> fd60: 0000ffff 00000002 00000001 ffffb8b2 c0801f88 c0b520e0 c765fe30
> c765fd88
> fd80: c0163b54 c0160b68 00000554 00000aaa 00000aaa 00000554 00000aaa
> 00000000
> fda0: 00020000 00440000 fefecb00 0000ffff 00000030 00000055 000000aa
> 00000080
> fdc0: 00000055 000000aa c02222e0 0000132f 60000013 00001322 ffffecd1
> c0260ac5
> fde0: 00000000 c0a68300 c0044518 00000000 00000000 00000000 c0a68300
> c0044518
> fe00: 00000000 00000000 00020000 00440000 00000000 00000000 00440000
> c0af9f80
> fe20: 00000000 c765fe74 c765fe34 c015fad8 c01633c4 00000000 c0b52118
> c0af9f80
> fe40: c0b520e0 c0801f88 c01633b4 00000000 c74cfba0 c74cfba0 c0817e00
> c765e000
> fe60: c765ff00 00000000 c765fe94 c765fe78 c0163bcc c015f88c 00020000
> 00000000
> fe80: 00000000 bedacdb0 c765fea4 c765fe98 c01594fc c0163bac c765ff38
> c765fea8
> fea0: c015c3ac c01594bc 00000029 40017029 c765e000 c082abdc c765fee0
> c765fec8
> fec0: c00445ec c0044540 00000000 c765e000 c082a00c c765fefc 00000000
> c0a68300
> fee0: c0044518 00000000 00000000 00000000 c0a68300 c0044518 00000000
> 00000000
> ff00: c765ff00 c765ff00 00000000 c01333b4 c0a770c0 ffffffe7 bedacdb0
> 40084d02
> ff20: c0020f44 c765e000 00011a54 c765ff58 c765ff3c c009abdc c015c0b0
> bedacdb0
> ff40: c0a770c0 00000000 00000003 c765ff80 c765ff5c c009af34 c009ab6c
> 00000000
> ff60: 401421f0 fffffff7 bedacdb0 40084d02 c0a770c0 c765ffa4 c765ff84
> c009af98
> ff80: c009ad44 00000000 00000080 00000000 00000003 00000036 00000000
> c765ffa8
> ffa0: c0020dc0 c009af64 00000080 c002821c 00000003 40084d02 bedacdb0
> 00000000
> ffc0: 00000080 00000000 00000003 00011a2c 00000000 00011a28 00011a54
> 00011a5c
> ffe0: 00011a0c bedacdac 00008b4c 400eaed4 60000010 00000003 a1b11142
> 12082062
> Backtrace:
> [<c0044530>] (__wake_up_common+0x0/0x7c) from [<c00445ec>]
> (__wake_up+0x40/0x64)
> [<c00445ac>] (__wake_up+0x0/0x64) from [<c0160cdc>] 
> (put_chip+0x184/0x194)
>  r5 = 00000001  r4 = 00000002
> [<c0160b58>] (put_chip+0x0/0x194) from [<c0163b54>]
> (do_erase_oneblock+0x7a0/0x7e8)
>  r8 = C0B520E0  r7 = C0801F88  r6 = FFFFB8B2  r5 = 00000001
>  r4 = 00000002
> [<c01633b4>] (do_erase_oneblock+0x0/0x7e8) from [<c015fad8>]
> (cfi_varsize_frob+0x25c/0x2e4)
> [<c015f87c>] (cfi_varsize_frob+0x0/0x2e4) from [<c0163bcc>]
> (cfi_amdstd_erase_varsize+0x30/0x60)
> [<c0163b9c>] (cfi_amdstd_erase_varsize+0x0/0x60) from [<c01594fc>]
> (part_erase+0x50/0x5c)
>  r5 = BEDACDB0  r4 = 00000000
> [<c01594ac>] (part_erase+0x0/0x5c) from [<c015c3ac>] 
> (mtd_ioctl+0x30c/0x8d4)
> [<c015c0a0>] (mtd_ioctl+0x0/0x8d4) from [<c009abdc>] (do_ioctl+0x80/0x94)
> [<c009ab5c>] (do_ioctl+0x0/0x94) from [<c009af34>] 
> (vfs_ioctl+0x200/0x220)
>  r7 = 00000003  r6 = 00000000  r5 = C0A770C0  r4 = BEDACDB0
> [<c009ad34>] (vfs_ioctl+0x0/0x220) from [<c009af98>] 
> (sys_ioctl+0x44/0x60)
>  r7 = C0A770C0  r6 = 40084D02  r5 = BEDACDB0  r4 = FFFFFFF7
> [<c009af54>] (sys_ioctl+0x0/0x60) from [<c0020dc0>]
> (ret_fast_syscall+0x0/0x2c)
>  r7 = 00000036  r6 = 00000003  r5 = 00000000  r4 = 00000080
> Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)
>  <6>note: flash_eraseall[715] exited with preempt_count 3
> MTD_close
> Unable to handle kernel NULL pointer dereference at virtual address 
> 00000000
> pgd = c0004000
> [00000000] *pgd=00000000
> Internal error: Oops: 17 [#2]
> Modules linked in:
> CPU: 0
> PC is at __wake_up_common+0x28/0x7c
> LR is at __init_begin+0x3fff8000/0x38
> pc : [<c0044558>]    lr : [<00000000>]    Not tainted
> sp : c765fa58  ip : c765fa84  fp : c765fa80
> r10: 00000003  r9 : 00000000  r8 : 00000000
> r7 : c7bc7c40  r6 : 00000000  r5 : c0b52134  r4 : 00000001
> r3 : 00000000  r2 : 00000001  r1 : 00000003  r0 : c0b52134
> Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  Segment user
> Control: 5317F  Table: 17898000  DAC: 00000015
> Process flash_eraseall (pid: 715, stack limit = 0xc765e194)
> Stack: (0xc765fa58 to 0xc7660000)
> fa40:                                                       c765e000
> 60000013
> fa60: 00000000 c7bc7c40 c0b520e0 c0b52118 c765fab4 c765fa9c c765fa84
> c00445ec
> fa80: c0044540 00000000 c765e000 c0b520e0 c765faf0 c765faa0 c0163dd4
> c00445bc
> faa0: 00000000 c0a68300 c0044518 00000000 00000000 00000000 c0a68300
> c0044518
> fac0: 00000000 00000000 c0817e00 c0a770c0 c7671994 c7bc7c40 c03b42a0
> 00000017
> fae0: 00000000 c765fb00 c765faf4 c0159668 c0163c7c c765fb14 c765fb04
> c015bc78
> fb00: c015965c 00000008 c765fb38 c765fb18 c00869b8 c015bc54 c0a770c0
> 00000000
> fb20: c03c5c80 c03c5c88 00000001 c765fb4c c765fb3c c0086910 c0086924
> c0a770c0
> fb40: c765fb68 c765fb50 c0084eb8 c0086888 00000001 c03c5c80 00000003
> c765fb8c
> fb60: c765fb6c c004a224 c0084e50 c765e000 c03c5c80 c0a68300 00000001
> 0000000b
> fb80: c765fbb0 c765fb90 c004af70 c004a1a4 c765e000 00000017 c01e7d50
> c765fcd0
> fba0: c0a68300 c765fbd0 c765fbb4 c0026344 c004ad94 00000000 c765fcd0
> c001d1e0
> fbc0: 00000017 c765fbf0 c765fbd4 c0027d4c c00262b8 ffffffec c001d210
> c001d1e0
> fbe0: c765fcd0 c765fc24 c765fbf4 c0028050 c0027cf0 c0218340 c036a320
> ffffffff
> fc00: c02140c8 00000017 c765fcd0 00000000 00000093 00000003 c765fccc
> c765fc28
> fc20: c00281a8 c0027f30 00000000 c01e19f8 00000000 00000020 c0260eb7
> 30303030
> fc40: c0353434 1767a0ff c001b90c c765fc8c c026b628 c765fc70 c765fc90
> c765fc68
> fc60: c0148170 c014595c c02222e0 00001332 0000135c ffffeca4 c0260ae5
> 60000013
> fc80: 00000030 c765fcac c765fc94 c004854c c0147f68 0000135c c0216960
> c0216964
> fca0: c765fcc4 c765fcb0 c00485dc ffffffff c765fd04 ffffb8b2 c0b52118
> 00000000
> fcc0: c765fd40 c765fcd0 c0020940 c002817c c0b52134 00000003 00000001
> 00000000
> fce0: 00000001 c0b52134 ffffb8b2 c0b52118 00000000 00000000 00000003
> c765fd40
> fd00: c765fd44 c765fd18 00000000 c0044558 00000093 ffffffff c765e000
> 60000013
> fd20: ffffb8b2 c0b52118 c0801f88 c765e000 c0b52118 c765fd5c c765fd44
> c00445ec
> fd40: c0044540 00000000 00000002 00000001 c765fd84 c765fd60 c0160cdc
> c00445bc
> fd60: 0000ffff 00000002 00000001 ffffb8b2 c0801f88 c0b520e0 c765fe30
> c765fd88
> fd80: c0163b54 c0160b68 00000554 00000aaa 00000aaa 00000554 00000aaa
> 00000000
> fda0: 00020000 00440000 fefecb00 0000ffff 00000030 00000055 000000aa
> 00000080
> fdc0: 00000055 000000aa c02222e0 0000132f 60000013 00001322 ffffecd1
> c0260ac5
> fde0: 00000000 c0a68300 c0044518 00000000 00000000 00000000 c0a68300
> c0044518
> fe00: 00000000 00000000 00020000 00440000 00000000 00000000 00440000
> c0af9f80
> fe20: 00000000 c765fe74 c765fe34 c015fad8 c01633c4 00000000 c0b52118
> c0af9f80
> fe40: c0b520e0 c0801f88 c01633b4 00000000 c74cfba0 c74cfba0 c0817e00
> c765e000
> fe60: c765ff00 00000000 c765fe94 c765fe78 c0163bcc c015f88c 00020000
> 00000000
> fe80: 00000000 bedacdb0 c765fea4 c765fe98 c01594fc c0163bac c765ff38
> c765fea8
> fea0: c015c3ac c01594bc 00000029 40017029 c765e000 c082abdc c765fee0
> c765fec8
> fec0: c00445ec c0044540 00000000 c765e000 c082a00c c765fefc 00000000
> c0a68300
> fee0: c0044518 00000000 00000000 00000000 c0a68300 c0044518 00000000
> 00000000
> ff00: c765ff00 c765ff00 00000000 c01333b4 c0a770c0 ffffffe7 bedacdb0
> 40084d02
> ff20: c0020f44 c765e000 00011a54 c765ff58 c765ff3c c009abdc c015c0b0
> bedacdb0
> ff40: c0a770c0 00000000 00000003 c765ff80 c765ff5c c009af34 c009ab6c
> 00000000
> ff60: 401421f0 fffffff7 bedacdb0 40084d02 c0a770c0 c765ffa4 c765ff84
> c009af98
> ff80: c009ad44 00000000 00000080 00000000 00000003 00000036 00000000
> c765ffa8
> ffa0: c0020dc0 c009af64 00000080 c002821c 00000003 40084d02 bedacdb0
> 00000000
> ffc0: 00000080 00000000 00000003 00011a2c 00000000 00011a28 00011a54
> 00011a5c
> ffe0: 00011a0c bedacdac 00008b4c 400eaed4 60000010 00000003 a1b11142
> 12082062
> Backtrace:
> [<c0044530>] (__wake_up_common+0x0/0x7c) from [<c00445ec>]
> (__wake_up+0x40/0x64)
> [<c00445ac>] (__wake_up+0x0/0x64) from [<c0163dd4>]
> (cfi_amdstd_sync+0x168/0x194)
>  r5 = C0B520E0  r4 = C765E000
> [<c0163c6c>] (cfi_amdstd_sync+0x0/0x194) from [<c0159668>]
> (part_sync+0x1c/0x20)
> [<c015964c>] (part_sync+0x0/0x20) from [<c015bc78>] (mtd_close+0x34/0x48)
> [<c015bc44>] (mtd_close+0x0/0x48) from [<c00869b8>] (__fput+0xa4/0x18c)
>  r4 = 00000008
> [<c0086914>] (__fput+0x0/0x18c) from [<c0086910>] (fput+0x98/0x9c)
>  r8 = 00000001  r7 = C03C5C88  r6 = C03C5C80  r5 = 00000000
>  r4 = C0A770C0
> [<c0086878>] (fput+0x0/0x9c) from [<c0084eb8>] (filp_close+0x78/0x84)
>  r4 = C0A770C0
> [<c0084e40>] (filp_close+0x0/0x84) from [<c004a224>]
> (put_files_struct+0x90/0xd0)
>  r6 = 00000003  r5 = C03C5C80  r4 = 00000001
> [<c004a194>] (put_files_struct+0x0/0xd0) from [<c004af70>]
> (do_exit+0x1ec/0x484)
>  r8 = 0000000B  r7 = 00000001  r6 = C0A68300  r5 = C03C5C80
>  r4 = C765E000
> [<c004ad84>] (do_exit+0x0/0x484) from [<c0026344>] (die+0x9c/0xa0)
>  r8 = C0A68300  r7 = C765FCD0  r6 = C01E7D50  r5 = 00000017
>  r4 = C765E000
> [<c00262a8>] (die+0x0/0xa0) from [<c0027d4c>] 
> (__do_kernel_fault+0x6c/0x7c)
>  r7 = 00000017  r6 = C001D1E0  r5 = C765FCD0  r4 = 00000000
> [<c0027ce0>] (__do_kernel_fault+0x0/0x7c) from [<c0028050>]
> (do_page_fault+0x130/0x144)
>  r7 = C765FCD0  r6 = C001D1E0  r5 = C001D210  r4 = FFFFFFEC
> [<c0027f20>] (do_page_fault+0x0/0x144) from [<c00281a8>]
> (do_DataAbort+0x3c/0xa0)
> [<c002816c>] (do_DataAbort+0x0/0xa0) from [<c0020940>]
> (__dabt_svc+0x40/0x60)
>  r8 = 00000000  r7 = C0B52118  r6 = FFFFB8B2  r5 = C765FD04
>  r4 = FFFFFFFF
> [<c0044530>] (__wake_up_common+0x0/0x7c) from [<c00445ec>]
> (__wake_up+0x40/0x64)
> [<c00445ac>] (__wake_up+0x0/0x64) from [<c0160cdc>] 
> (put_chip+0x184/0x194)
>  r5 = 00000001  r4 = 00000002
> [<c0160b58>] (put_chip+0x0/0x194) from [<c0163b54>]
> (do_erase_oneblock+0x7a0/0x7e8)
>  r8 = C0B520E0  r7 = C0801F88  r6 = FFFFB8B2  r5 = 00000001
>  r4 = 00000002
> [<c01633b4>] (do_erase_oneblock+0x0/0x7e8) from [<c015fad8>]
> (cfi_varsize_frob+0x25c/0x2e4)
> [<c015f87c>] (cfi_varsize_frob+0x0/0x2e4) from [<c0163bcc>]
> (cfi_amdstd_erase_varsize+0x30/0x60)
> [<c0163b9c>] (cfi_amdstd_erase_varsize+0x0/0x60) from [<c01594fc>]
> (part_erase+0x50/0x5c)
>  r5 = BEDACDB0  r4 = 00000000
> [<c01594ac>] (part_erase+0x0/0x5c) from [<c015c3ac>] 
> (mtd_ioctl+0x30c/0x8d4)
> [<c015c0a0>] (mtd_ioctl+0x0/0x8d4) from [<c009abdc>] (do_ioctl+0x80/0x94)
> [<c009ab5c>] (do_ioctl+0x0/0x94) from [<c009af34>] 
> (vfs_ioctl+0x200/0x220)
>  r7 = 00000003  r6 = 00000000  r5 = C0A770C0  r4 = BEDACDB0
> [<c009ad34>] (vfs_ioctl+0x0/0x220) from [<c009af98>] 
> (sys_ioctl+0x44/0x60)
>  r7 = C0A770C0  r6 = 40084D02  r5 = BEDACDB0  r4 = FFFFFFF7
> [<c009af54>] (sys_ioctl+0x0/0x60) from [<c0020dc0>]
> (ret_fast_syscall+0x0/0x2c)
>  r7 = 00000036  r6 = 00000003  r5 = 00000000  r4 = 00000080
> Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)
>  <1>Fixing recursive fault but reboot is needed!pgd = c7898000
> [00000000] *pgd=1788d031, *pte=00000000, *ppte=00000000
> Internal error: Oops: 17 [#1]
> Modules linked in:
> CPU: 0
> PC is at __wake_up_common+0x28/0x7c
> LR is at __init_begin+0x3fff8000/0x38
> pc : [<c00384d4>]    lr : [<00000000>]    Not tainted
> sp : c765fd18  ip : c765fd44  fp : c765fd40
> r10: 00000003  r9 : 00000000  r8 : 00000000
> r7 : c0b52118  r6 : ffffb8b2  r5 : c0b52134  r4 : 00000001
> r3 : 00000000  r2 : 00000001  r1 : 00000003  r0 : c0b52134
> Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  Segment user
> Control: 5317F  Table: 17898000  DAC: 00000015
> Process flash_eraseall (pid: 715, stack limit = 0xc765e194)
> Stack: (0xc765fd18 to 0xc7660000)
> fd00:                                                       c765e000
> 60000013
> fd20: ffffb8b2 c0b52118 c0801f88 c765e000 c0b52118 c765fd5c c765fd44
> c00445ec
> fd40: c0044540 00000000 00000002 00000001 c765fd84 c765fd60 c0160cdc
> c00445bc
> fd60: 0000ffff 00000002 00000001 ffffb8b2 c0801f88 c0b520e0 c765fe30
> c765fd88
> fd80: c0163b54 c0160b68 00000554 00000aaa 00000aaa 00000554 00000aaa
> 00000000
> fda0: 00020000 00440000 fefecb00 0000ffff 00000030 00000055 000000aa
> 00000080
> fdc0: 00000055 000000aa c02222e0 0000132f 60000013 00001322 ffffecd1
> c0260ac5
> fde0: 00000000 c0a68300 c0044518 00000000 00000000 00000000 c0a68300
> c0044518
> fe00: 00000000 00000000 00020000 00440000 00000000 00000000 00440000
> c0af9f80
> fe20: 00000000 c765fe74 c765fe34 c015fad8 c01633c4 00000000 c0b52118
> c0af9f80
> fe40: c0b520e0 c0801f88 c01633b4 00000000 c74cfba0 c74cfba0 c0817e00
> c765e000
> fe60: c765ff00 00000000 c765fe94 c765fe78 c0163bcc c015f88c 00020000
> 00000000
> fe80: 00000000 bedacdb0 c765fea4 c765fe98 c01594fc c0163bac c765ff38
> c765fea8
> fea0: c015c3ac c01594bc 00000029 40017029 c765e000 c082abdc c765fee0
> c765fec8
> fec0: c00445ec c0044540 00000000 c765e000 c082a00c c765fefc 00000000
> c0a68300
> fee0: c0044518 00000000 00000000 00000000 c0a68300 c0044518 00000000
> 00000000
> ff00: c765ff00 c765ff00 00000000 c01333b4 c0a770c0 ffffffe7 bedacdb0
> 40084d02
> ff20: c0020f44 c765e000 00011a54 c765ff58 c765ff3c c009abdc c015c0b0
> bedacdb0
> ff40: c0a770c0 00000000 00000003 c765ff80 c765ff5c c009af34 c009ab6c
> 00000000
> ff60: 401421f0 fffffff7 bedacdb0 40084d02 c0a770c0 c765ffa4 c765ff84
> c009af98
> ff80: c009ad44 00000000 00000080 00000000 00000003 00000036 00000000
> c765ffa8
> ffa0: c0020dc0 c009af64 00000080 c002821c 00000003 40084d02 bedacdb0
> 00000000
> ffc0: 00000080 00000000 00000003 00011a2c 00000000 00011a28 00011a54
> 00011a5c
> ffe0: 00011a0c bedacdac 00008b4c 400eaed4 60000010 00000003 a1b11142
> 12082062
> Backtrace:
> [<c0044530>] (__wake_up_common+0x0/0x7c) from [<c00445ec>]
> (__wake_up+0x40/0x64)
> [<c00445ac>] (__wake_up+0x0/0x64) from [<c0160cdc>] 
> (put_chip+0x184/0x194)
>  r5 = 00000001  r4 = 00000002
> [<c0160b58>] (put_chip+0x0/0x194) from [<c0163b54>]
> (do_erase_oneblock+0x7a0/0x7e8)
>  r8 = C0B520E0  r7 = C0801F88  r6 = FFFFB8B2  r5 = 00000001
>  r4 = 00000002
> [<c01633b4>] (do_erase_oneblock+0x0/0x7e8) from [<c015fad8>]
> (cfi_varsize_frob+0x25c/0x2e4)
> [<c015f87c>] (cfi_varsize_frob+0x0/0x2e4) from [<c0163bcc>]
> (cfi_amdstd_erase_varsize+0x30/0x60)
> [<c0163b9c>] (cfi_amdstd_erase_varsize+0x0/0x60) from [<c01594fc>]
> (part_erase+0x50/0x5c)
>  r5 = BEDACDB0  r4 = 00000000
> [<c01594ac>] (part_erase+0x0/0x5c) from [<c015c3ac>] 
> (mtd_ioctl+0x30c/0x8d4)
> [<c015c0a0>] (mtd_ioctl+0x0/0x8d4) from [<c009abdc>] (do_ioctl+0x80/0x94)
> [<c009ab5c>] (do_ioctl+0x0/0x94) from [<c009af34>] 
> (vfs_ioctl+0x200/0x220)
>  r7 = 00000003  r6 = 00000000  r5 = C0A770C0  r4 = BEDACDB0
> [<c009ad34>] (vfs_ioctl+0x0/0x220) from [<c009af98>] 
> (sys_ioctl+0x44/0x60)
>  r7 = C0A770C0  r6 = 40084D02  r5 = BEDACDB0  r4 = FFFFFFF7
> [<c009af54>] (sys_ioctl+0x0/0x60) from [<c0020dc0>]
> (ret_fast_syscall+0x0/0x2c)
>  r7 = 00000036  r6 = 00000003  r5 = 00000000  r4 = 00000080
> Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)
>  <6>note: flash_eraseall[715] exited with preempt_count 3
> MTD_close
> Unable to handle kernel NULL pointer dereference at virtual address 
> 00000000
> pgd = c0004000
> [00000000] *pgd=00000000
> Internal error: Oops: 17 [#2]
> Modules linked in:
> CPU: 0
> PC is at __wake_up_common+0x28/0x7c
> LR is at __init_begin+0x3fff8000/0x38
> pc : [<c0044558>]    lr : [<00000000>]    Not tainted
> sp : c765fa58  ip : c765fa84  fp : c765fa80
> r10: 00000003  r9 : 00000000  r8 : 00000000
> r7 : c7bc7c40  r6 : 00000000  r5 : c0b52134  r4 : 00000001
> r3 : 00000000  r2 : 00000001  r1 : 00000003  r0 : c0b52134
> Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  Segment user
> Control: 5317F  Table: 17898000  DAC: 00000015
> Process flash_eraseall (pid: 715, stack limit = 0xc765e194)
> Stack: (0xc765fa58 to 0xc7660000)
> fa40:                                                       c765e000
> 60000013
> fa60: 00000000 c7bc7c40 c0b520e0 c0b52118 c765fab4 c765fa9c c765fa84
> c00445ec
> fa80: c0044540 00000000 c765e000 c0b520e0 c765faf0 c765faa0 c0163dd4
> c00445bc
> faa0: 00000000 c0a68300 c0044518 00000000 00000000 00000000 c0a68300
> c0044518
> fac0: 00000000 00000000 c0817e00 c0a770c0 c7671994 c7bc7c40 c03b42a0
> 00000017
> fae0: 00000000 c765fb00 c765faf4 c0159668 c0163c7c c765fb14 c765fb04
> c015bc78
> fb00: c015965c 00000008 c765fb38 c765fb18 c00869b8 c015bc54 c0a770c0
> 00000000
> fb20: c03c5c80 c03c5c88 00000001 c765fb4c c765fb3c c0086910 c0086924
> c0a770c0
> fb40: c765fb68 c765fb50 c0084eb8 c0086888 00000001 c03c5c80 00000003
> c765fb8c
> fb60: c765fb6c c004a224 c0084e50 c765e000 c03c5c80 c0a68300 00000001
> 0000000b
> fb80: c765fbb0 c765fb90 c004af70 c004a1a4 c765e000 00000017 c01e7d50
> c765fcd0
> fba0: c0a68300 c765fbd0 c765fbb4 c0026344 c004ad94 00000000 c765fcd0
> c001d1e0
> fbc0: 00000017 c765fbf0 c765fbd4 c0027d4c c00262b8 ffffffec c001d210
> c001d1e0
> fbe0: c765fcd0 c765fc24 c765fbf4 c0028050 c0027cf0 c0218340 c036a320
> ffffffff
> fc00: c02140c8 00000017 c765fcd0 00000000 00000093 00000003 c765fccc
> c765fc28
> fc20: c00281a8 c0027f30 00000000 c01e19f8 00000000 00000020 c0260eb7
> 30303030
> fc40: c0353434 1767a0ff c001b90c c765fc8c c026b628 c765fc70 c765fc90
> c765fc68
> fc60: c0148170 c014595c c02222e0 00001332 0000135c ffffeca4 c0260ae5
> 60000013
> fc80: 00000030 c765fcac c765fc94 c004854c c0147f68 0000135c c0216960
> c0216964
> fca0: c765fcc4 c765fcb0 c00485dc ffffffff c765fd04 ffffb8b2 c0b52118
> 00000000
> fcc0: c765fd40 c765fcd0 c0020940 c002817c c0b52134 00000003 00000001
> 00000000
> fce0: 00000001 c0b52134 ffffb8b2 c0b52118 00000000 00000000 00000003
> c765fd40
> fd00: c765fd44 c765fd18 00000000 c0044558 00000093 ffffffff c765e000
> 60000013
> fd20: ffffb8b2 c0b52118 c0801f88 c765e000 c0b52118 c765fd5c c765fd44
> c00445ec
> fd40: c0044540 00000000 00000002 00000001 c765fd84 c765fd60 c0160cdc
> c00445bc
> fd60: 0000ffff 00000002 00000001 ffffb8b2 c0801f88 c0b520e0 c765fe30
> c765fd88
> fd80: c0163b54 c0160b68 00000554 00000aaa 00000aaa 00000554 00000aaa
> 00000000
> fda0: 00020000 00440000 fefecb00 0000ffff 00000030 00000055 000000aa
> 00000080
> fdc0: 00000055 000000aa c02222e0 0000132f 60000013 00001322 ffffecd1
> c0260ac5
> fde0: 00000000 c0a68300 c0044518 00000000 00000000 00000000 c0a68300
> c0044518
> fe00: 00000000 00000000 00020000 00440000 00000000 00000000 00440000
> c0af9f80
> fe20: 00000000 c765fe74 c765fe34 c015fad8 c01633c4 00000000 c0b52118
> c0af9f80
> fe40: c0b520e0 c0801f88 c01633b4 00000000 c74cfba0 c74cfba0 c0817e00
> c765e000
> fe60: c765ff00 00000000 c765fe94 c765fe78 c0163bcc c015f88c 00020000
> 00000000
> fe80: 00000000 bedacdb0 c765fea4 c765fe98 c01594fc c0163bac c765ff38
> c765fea8
> fea0: c015c3ac c01594bc 00000029 40017029 c765e000 c082abdc c765fee0
> c765fec8
> fec0: c00445ec c0044540 00000000 c765e000 c082a00c c765fefc 00000000
> c0a68300
> fee0: c0044518 00000000 00000000 00000000 c0a68300 c0044518 00000000
> 00000000
> ff00: c765ff00 c765ff00 00000000 c01333b4 c0a770c0 ffffffe7 bedacdb0
> 40084d02
> ff20: c0020f44 c765e000 00011a54 c765ff58 c765ff3c c009abdc c015c0b0
> bedacdb0
> ff40: c0a770c0 00000000 00000003 c765ff80 c765ff5c c009af34 c009ab6c
> 00000000
> ff60: 401421f0 fffffff7 bedacdb0 40084d02 c0a770c0 c765ffa4 c765ff84
> c009af98
> ff80: c009ad44 00000000 00000080 00000000 00000003 00000036 00000000
> c765ffa8
> ffa0: c0020dc0 c009af64 00000080 c002821c 00000003 40084d02 bedacdb0
> 00000000
> ffc0: 00000080 00000000 00000003 00011a2c 00000000 00011a28 00011a54
> 00011a5c
> ffe0: 00011a0c bedacdac 00008b4c 400eaed4 60000010 00000003 a1b11142
> 12082062
> Backtrace:
> [<c0044530>] (__wake_up_common+0x0/0x7c) from [<c00445ec>]
> (__wake_up+0x40/0x64)
> [<c00445ac>] (__wake_up+0x0/0x64) from [<c0163dd4>]
> (cfi_amdstd_sync+0x168/0x194)
>  r5 = C0B520E0  r4 = C765E000
> [<c0163c6c>] (cfi_amdstd_sync+0x0/0x194) from [<c0159668>]
> (part_sync+0x1c/0x20)
> [<c015964c>] (part_sync+0x0/0x20) from [<c015bc78>] (mtd_close+0x34/0x48)
> [<c015bc44>] (mtd_close+0x0/0x48) from [<c00869b8>] (__fput+0xa4/0x18c)
>  r4 = 00000008
> [<c0086914>] (__fput+0x0/0x18c) from [<c0086910>] (fput+0x98/0x9c)
>  r8 = 00000001  r7 = C03C5C88  r6 = C03C5C80  r5 = 00000000
>  r4 = C0A770C0
> [<c0086878>] (fput+0x0/0x9c) from [<c0084eb8>] (filp_close+0x78/0x84)
>  r4 = C0A770C0
> [<c0084e40>] (filp_close+0x0/0x84) from [<c004a224>]
> (put_files_struct+0x90/0xd0)
>  r6 = 00000003  r5 = C03C5C80  r4 = 00000001
> [<c004a194>] (put_files_struct+0x0/0xd0) from [<c004af70>]
> (do_exit+0x1ec/0x484)
>  r8 = 0000000B  r7 = 00000001  r6 = C0A68300  r5 = C03C5C80
>  r4 = C765E000
> [<c004ad84>] (do_exit+0x0/0x484) from [<c0026344>] (die+0x9c/0xa0)
>  r8 = C0A68300  r7 = C765FCD0  r6 = C01E7D50  r5 = 00000017
>  r4 = C765E000
> [<c00262a8>] (die+0x0/0xa0) from [<c0027d4c>] 
> (__do_kernel_fault+0x6c/0x7c)
>  r7 = 00000017  r6 = C001D1E0  r5 = C765FCD0  r4 = 00000000
> [<c0027ce0>] (__do_kernel_fault+0x0/0x7c) from [<c0028050>]
> (do_page_fault+0x130/0x144)
>  r7 = C765FCD0  r6 = C001D1E0  r5 = C001D210  r4 = FFFFFFEC
> [<c0027f20>] (do_page_fault+0x0/0x144) from [<c00281a8>]
> (do_DataAbort+0x3c/0xa0)
> [<c002816c>] (do_DataAbort+0x0/0xa0) from [<c0020940>]
> (__dabt_svc+0x40/0x60)
>  r8 = 00000000  r7 = C0B52118  r6 = FFFFB8B2  r5 = C765FD04
>  r4 = FFFFFFFF
> [<c0044530>] (__wake_up_common+0x0/0x7c) from [<c00445ec>]
> (__wake_up+0x40/0x64)
> [<c00445ac>] (__wake_up+0x0/0x64) from [<c0160cdc>] 
> (put_chip+0x184/0x194)
>  r5 = 00000001  r4 = 00000002
> [<c0160b58>] (put_chip+0x0/0x194) from [<c0163b54>]
> (do_erase_oneblock+0x7a0/0x7e8)
>  r8 = C0B520E0  r7 = C0801F88  r6 = FFFFB8B2  r5 = 00000001
>  r4 = 00000002
> [<c01633b4>] (do_erase_oneblock+0x0/0x7e8) from [<c015fad8>]
> (cfi_varsize_frob+0x25c/0x2e4)
> [<c015f87c>] (cfi_varsize_frob+0x0/0x2e4) from [<c0163bcc>]
> (cfi_amdstd_erase_varsize+0x30/0x60)
> [<c0163b9c>] (cfi_amdstd_erase_varsize+0x0/0x60) from [<c01594fc>]
> (part_erase+0x50/0x5c)
>  r5 = BEDACDB0  r4 = 00000000
> [<c01594ac>] (part_erase+0x0/0x5c) from [<c015c3ac>] 
> (mtd_ioctl+0x30c/0x8d4)
> [<c015c0a0>] (mtd_ioctl+0x0/0x8d4) from [<c009abdc>] (do_ioctl+0x80/0x94)
> [<c009ab5c>] (do_ioctl+0x0/0x94) from [<c009af34>] 
> (vfs_ioctl+0x200/0x220)
>  r7 = 00000003  r6 = 00000000  r5 = C0A770C0  r4 = BEDACDB0
> [<c009ad34>] (vfs_ioctl+0x0/0x220) from [<c009af98>] 
> (sys_ioctl+0x44/0x60)
>  r7 = C0A770C0  r6 = 40084D02  r5 = BEDACDB0  r4 = FFFFFFF7
> [<c009af54>] (sys_ioctl+0x0/0x60) from [<c0020dc0>]
> (ret_fast_syscall+0x0/0x2c)
>  r7 = 00000036  r6 = 00000003  r5 = 00000000  r4 = 00000080
> Code: e1a0a001 e1a04002 e1a08003 e59b9004 (e59e7000)
>  <1>Fixing recursive fault but reboot is needed!
> scheduling while atomic: flash_eraseall/0x00000005/715
> scheduling while atomic: flash_eraseall/0x00000005/715
> -- cut --
>
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
>

  reply	other threads:[~2005-12-27  6:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-26 18:08 Oops using cfi_cmdset_0002.c Dirk Behme
2005-12-27  6:44 ` Vitaly Wool [this message]
2005-12-27  9:51   ` Dirk Behme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43B0E2B4.6050309@ru.mvista.com \
    --to=vwool@ru.mvista.com \
    --cc=dirk.behme@de.bosch.com \
    --cc=linux-mtd@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.