diskonchip and last cvs
Dmitry Skorinko
skorinkod at mosk.ru
Wed Oct 20 05:37:08 EDT 2004
I have:
1) DiskOnChip 2000 256Mb
2) 2.6.8.1 kernel source (2.6.8-7 Debian edition)
3) todays cvs tree of mtd drivers
+ this patch from Kalev Lember, but for last diskonchip.c file:
RCS file: /home/cvs/mtd/drivers/mtd/nand/diskonchip.c,v
retrieving revision 1.38
diff -u -r1.38 diskonchip.c
--- diskonchip.c 5 Oct 2004 22:11:46 -0000 1.38
+++ diskonchip.c 11 Oct 2004 12:58:01 -0000
@@ -1409,13 +1409,9 @@
return ret;
memset((char *) parts, 0, sizeof(parts));
numparts = inftl_partscan(mtd, parts);
- /* At least for now, require the INFTL Media Header. We could
probably
- do without it for non-INFTL use, since all it gives us is
- autopartitioning, but I want to give it more thought. */
- if (!numparts) return -EIO;
add_mtd_device(mtd);
#ifdef CONFIG_MTD_PARTITIONS
- if (!no_autopart)
+ if (!no_autopart && numparts > 0)
add_mtd_partitions(mtd, parts, numparts);
#endif
it must help me with flash without headers...
#modprobe inftl
#modprobe diskonchip
Segmetation fault
#dmesg
---skip---
INFTL: inftlcore.c $Revision: 1.17 $, inftlmount.c $Revision: 1.14 $
DiskOnChip found at 0xe0000
Detected 2 chips per floor.
NAND device: Manufacturer ID: 0xec, Chip ID: 0x79 (Samsung NAND 128MiB 3,3V
8-bit)
2 NAND chips detected
Bad block table found at page 524256, version 0x55
Bad block table not found for chip 0
nand_read_bbt: Reserved block at 0x00000000
nand_read_bbt: Bad block at 0x00080000
nand_read_bbt: Bad block at 0x000c4000
nand_read_bbt: Bad block at 0x000d4000
nand_read_bbt: Bad block at 0x08080000
nand_read_bbt: Bad block at 0x08124000
nand_read_bbt: Bad block at 0x08134000
nand_read_bbt: Bad block at 0x09600000
nand_read_bbt: Reserved block at 0x0fffc000
Unable to handle kernel NULL pointer dereference at virtual address 0000000c
printing eip:
c80ac094
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: diskonchip reed_solomon nand nand_ids nand_ecc mtdpart
inftl mtd_blkdevs mtdcore ipv6 af_packet 8139too mii crc32 usbkbd usbcore rtc
ext3 jbd ide_generic sis5513 ide_disk ide_core unix
CPU: 0
EIP: 0060:[<c80ac094>] Not tainted
EFLAGS: 00010202 (2.6.8contr)
EIP is at doc_ecc_decode+0x94/0x269 [diskonchip]
eax: 01b901b9 ebx: 000001b9 ecx: 00000000 edx: 000001b9
esi: c6541ddc edi: 00000004 ebp: c6541ddc esp: c6541cc8
ds: 007b es: 007b ss: 0068
Process modprobe (pid: 690, threadinfo=c6540000 task=c6b2c0d0)
Stack: c6540000 21541d4c 00000001 c0115375 c03017e0 01b9033a 01f90344 c6541d4c
c010eb0f c6541d4c c6541d4c 033a033a 033a033a c6541cfc c6541cfc 20000001
00000001 c0301928 0000000a c024e098 c0117a58 c0301928 00000000 c00e0000
Call Trace:
[<c0115375>] profile_hook+0x1c/0x31
[<c010eb0f>] smp_local_timer_interrupt+0xc/0x91
[<c0117a58>] __do_softirq+0x34/0x73
[<c80acfe3>] doc200x_correct_data+0x107/0x15a [diskonchip]
[<c80d80c4>] nand_read_ecc+0x430/0x759 [nand]
[<c80da077>] read_abs_bbt+0xad/0xbc [nand]
[<c80d7c90>] nand_read+0x21/0x25 [nand]
[<c8076196>] find_media_headers+0x58/0x14f [diskonchip]
[<c807675c>] inftl_scan_bbt+0x210/0x3d7 [diskonchip]
[<c80d9cd0>] nand_scan+0x7cf/0x7d8 [nand]
[<c8076137>] doc2000_count_chips+0x4e/0x55 [diskonchip]
[<c8077204>] init_module+0x8e1/0x997 [diskonchip]
[<c0126785>] sys_init_module+0xea/0x1db
[<c0104f27>] syscall_call+0x7/0xb
Code: 8b 41 0c 66 8b 14 50 8b 74 24 08 66 89 54 24 04 31 ff 69 f6
if only #modprobe diskonchip - same
if use without patch - same
if I use standart kernel source drivers from 2.6.8-7 package + this patch:
#modprobe inftl
#modprobe diskonchip
Segmetation fault
errors with inftl here
#modprobe nftl
#modprobe diskonchip
Wow, mtd layer is work (in /proc/mtd i have "DiskOnChip 2000 (INFTL Model)"),
but i dont have nftl:
-
Could not find valid boot record
Could not mount NFTL device
-
nftl_format work correctly but don't help...
I have other same flash with normal nand headers, but without nftl headers and
situation is same, but I don't need this patch and flash have 2 partitions,
etc.. no nftl...
Dmitry
More information about the linux-mtd
mailing list