Hali,

Egy ARM-os gepen futottam bele egy kernelhibaba (2.6.22). Egy soros
dataflash-bol bootol, igy nez ki a /proc/mtd:

dev:    size   erasesize  name
mtd0: 00028380 00000210 "bootloader"
mtd1: 001e8d00 00000210 "kernel"
mtd2: 0020ef80 00000210 "filesystem"
mtd3: 00210000 00004000 "NAND Partition 1"
mtd4: 03df0000 00004000 "NAND Partition 2"

A hibat ugy tudom elohozni, hogy bemountolom a /dev/mtdblock2-t (ez egy
2 megas minix), es vagy varok 10 masodpercet, vagy nyomok egy sync
parancsot, es azonnal jon a register dump:

kernel BUG at arch/arm/mm/consistent.c:488!
Unable to handle kernel NULL pointer dereference at virtual address
00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 817 [#1]
Modules linked in:
CPU: 0    Not tainted  (2.6.22 #8)
PC is at __bug+0x20/0x2c
...
Backtrace:
[<c00289f8>] (__bug+0x0/0x2c) from [<c00297e4>] (consistent_sync+0xa4/0xb0)
[<c0029740>] (consistent_sync+0x0/0xb0) from [<c0134e04>]
(spi_transfer+0x100/0x1c0)
[<c0134d04>] (spi_transfer+0x0/0x1c0) from [<c0169138>]
(do_spi_transfer+0x54/0x5c)
[<c01690e4>] (do_spi_transfer+0x0/0x5c) from [<c01694c0>]
(at91_dataflash_read+0xf8/0x120)
[<c01693c8>] (at91_dataflash_read+0x0/0x120) from [<c0165364>]
(part_read+0xa8/0xdc)
[<c01652bc>] (part_read+0x0/0xdc) from [<c0168344>]
(mtdblock_writesect+0x164/0x1d4)
 r6:00000210 r5:00000020 r4:c1d8c3a0
[<c01681e0>] (mtdblock_writesect+0x0/0x1d4) from [<c0167580>]
(mtd_blktrans_thread+0x178/0x1f4)
[<c0167408>] (mtd_blktrans_thread+0x0/0x1f4) from [<c004c0a4>]
(kthread+0x54/0x7c)

Ha read only-ra mountolom, akkor mukodik. Az mtdblock driver jol mukodik
az mtd4-esen, es a dataflash is jol mukodik, ha nem blokkosan, hanem
karakteresen irom/olvasom (a minix image-et is csak igy tudtam beleirni,
mkfs-re azonnal elhasal mindig).
Mit tegyek, hogy a backtrace beszedesebb legyen (azaz a C forraskod
sorszamai is benne legyenek)? Talalkoztatok mar hasonloval?

Koszi,
BB


_________________________________________________
linux lista      -      [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz