Re: [Yaffs] 32MB Kernel Image NAND<>NAND copy encounters seg…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
+ bicakci_nand2nandcp_logsample.txt (text/plain)
Delete this message
Reply to this message
Author: Oner Bicakci
Date:  
To: 'Charles Manning'
CC: yaffs
Subject: Re: [Yaffs] 32MB Kernel Image NAND<>NAND copy encounters segfault
Charles,



The YAFFS2 image I downloaded via git last week is encountering the same
problem behavior as the original version we were using.



WORKS - Small copies under 4MBs, NAND<>NAND, (both for the original version
and the latest version).



COPYING OVER 4MB FAILS - Larger copies consistently encounter an error
(failing about 95% of the time - although not always at the same place and
on a rare occasion completes).

--- I'm testing with an ~8MB file andusing the latest YAFFS2 code.

--- Adding printk and/or enabling tracing alters the failure point.

--- The destination file is partially being copied. Then the system oops at
times while outside of a YAFFS read routine and at times while it's inside a
YAFFS read routine (attached is one representative log snapshot).



Any insight or suggestion as to what direction to investigate would be
appreciated.



Oner



________________________________________

From: [] On
Behalf Of Charles Manning []

Sent: Wednesday, July 20, 2011 7:19 PM

To:

Subject: Re: [Yaffs] 32MB Kernel Image NAND<>NAND copy encounters segfault
(while 16MB works fine)



On Wednesday 20 July 2011 19:14:22 Oner Bicakci wrote:

> <html><body><span style="font-family:Verdana; color:#000000;


> font-size:10pt;"><div>Charles,</div><div><br></div><div>The version


> string constants in the YAFFS2 source files (yaffs_ecc.c, fs.c,


> guts.c, mtdif1/f2.c, nand.c, checkptrw.c) say each is version 1.1 from


> Aug 17, 2007


>




That is pretty old.



Please try the latest from git and see if you still get problems.



-- CHarles



_______________________________________________

yaffs mailing list

<mailto:yaffs@lists.aleph1.co.uk>

<http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs>
http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs

****************
POWERUP ACTIVITY
****************

Linux version 2.6.22 (bicakci@Lifebook) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-21)) #12 Thu Jul 28 11:12:14 PDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Mimagic6+
Ignoring unrecognised tag 0x00000000
Memory policy: ECC disabled, Data cache writeback
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
Built 1 zonelists. Total pages: 8128
Kernel command line: console=ttyS0 mem=32M@0X07000000 root=/dev/mtdblock2 rw rootfstype=yaffs2
[irq] mm6_init_irq
PID hash table entries: 128 (order: 7, 512 bytes)
[timer] mm6_time_init
Console: colour dummy device 80x30
[uart] mm6uart_console_init
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 30536KB available (1696K code, 127K data, 88K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
[kern] Doing rest_init
NET: Registered protocol family 16
[clk] in mm6plus_clock_init
[clk] /proc/clock created
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered (default)
[mm6p_bl] mm6p_bl_init
[mm6p_bl] return mm6p_bl_init 0

[fb] Inside mm6fb_init
[fb] screen_base : 0xC0300000
[fb] screen_size :     774144
[fb] Registering driver with video layer 
Console: switching to colour frame buffer device 100x30
[fb] node 0, id Suntai 800x480 bitblt D0106000
[fb] Setting CLCD pixel clock
[fb] clock [40800] 
[fb] Initializing Panel...


[iic] Init Start ...

[iic] Reset...
[iic] MM6PLUS_IICCLK:[12000] - Init OK
[iic] Created /proc/iic
[iic] Init I2C OK
[fb] Initializing Panel : OK
[fb] mm6fb_init : OK.
[vo] Initialization OK.

 util init[UTIL] register_chrdev OK[irda] MBook HW Init OK.
[irda] MBook Init OK.
[irda] /proc/irda created 
[irda] Init OK.
[kpd] Init OK - Thread ID: 114
[uart] mm6uart_init 
ttyS0 at MMIO 0x101fd000 (irq = 12) is a mm6
ttyS1 at MMIO 0x101f7000 (irq = 24) is a mm6
loop: module loaded
MM6+ Intel Strata Flash: 0x02000000 at 0x30000000
MM6+ Intel Strata Flash: probing 32-bit flash bus
[gpio] Error -13 Not registered for port 0xA mask 20 reg_pin 92
[mm6 nfc] Probing for NAND flash device
[mm6 nfc] Nand Manufacturer ID: Hynix
[mm6 nfc] Nand Flash ID: NAND 256MiB 3,3V 8-bit
[mm6 nfc] Large Block Nand Device confirmed
[mm6 nfc] requesting irq 19
NAND device: Manufacturer ID: 0xad, Chip ID: 0xda (Hynix NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 344 at 0x02b00000
Bad eraseblock 345 at 0x02b20000
Bad eraseblock 751 at 0x05de0000
Bad eraseblock 1213 at 0x097a0000
[nfc] KERN 1 offset 40000 flash 40000
[nfc] read_ecc flash_addr 7f800, len 2048, retlen 0 buf_offset 0
[nfc] boot 1 magic str matched
[nfc] KERN 2 offset 80000 flash 80000
[nfc] read_ecc flash_addr bf800, len 2048, retlen 0 buf_offset 0
[nfc] boot 2 magic str matched
[nfc] KERN 3d @ 0x40000 err 0, 3e @ 0x80000 err 0, Using @ 0x80000
dumping bootloader info:
section count = 0x3
jump addr     = 0x7008000
global flags  = 0x7
version       = 0x3e
Section no: 0x0:
data size        = 0x4a60
download addr    = 0x8000000
burn_addr        = 0x0
relocate_addr    = 0x0
partition_size   = 0x40000
skip_header_size = 0x0
flags            = 0x120


Section no: 0x1:
data size        = 0x17eb0
download addr    = 0x8000000
burn_addr        = 0x0
relocate_addr    = 0x0
partition_size   = 0x80000
skip_header_size = 0x8
flags            = 0x120


Section no: 0x2:
data size        = 0x1cd78c
download addr    = 0x8000000
burn_addr        = 0x0
relocate_addr    = 0x7008000
partition_size   = 0x300000
skip_header_size = 0x0
flags            = 0x500


part0: size=0x000c0000, offset=0x00000000, total_bad=0, total_size=0x000c0000 MM6+ Nand flash partition 0 (Image BootLoader)
part1: size=0x00300000, offset=0xffffffff, total_bad=0, total_size=0x003c0000 MM6+ Nand flash partition 1 (Image Kernel    )
part2: size=0x0d480000, offset=0xffffffff, total_bad=4, total_size=0x0d840000 MM6+ Nand flash partition 2 (Image rootfs    )
[nfc] read_ecc flash_addr d840000, len 2048, retlen 0 buf_offset 0
[nand] No first-boot signature found! 
[nand] RootFS crossed partition boundary!
part3: size=0x00500000, offset=0xffffffff, total_bad=4, total_size=0x0dd40000 MM6+ Nand flash partition 3 (Preferences     )
part4: size=0x022c0000, offset=0x0dd40000, total_bad=4, total_size=0x10000000 MM6+ Nand flash partition 4 (Spare           )
Showing nfc partitions!
0x00000000-0x000c0000                   MM6+ Nand flash partition 0 (Image BootLoader)
0xffffffff-0x00300000                   MM6+ Nand flash partition 1 (Image Kernel    )
0xffffffff-0x0d480000                   MM6+ Nand flash partition 2 (Image rootfs    )
0xffffffff-0x00500000                   MM6+ Nand flash partition 3 (Preferences     )
0x0dd40000-0x022c0000                   MM6+ Nand flash partition 4 (Spare           )
Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x00000000-0x000c0000 : "MM6+ Nand flash partition 0 (Image BootLoader)"
0x000c0000-0x003c0000 : "MM6+ Nand flash partition 1 (Image Kernel    )"
0x003c0000-0x0d840000 : "MM6+ Nand flash partition 2 (Image rootfs    )"
0x0d840000-0x0dd40000 : "MM6+ Nand flash partition 3 (Preferences     )"
0x0dd40000-0x10000000 : "MM6+ Nand flash partition 4 (Spare           )"
[nand] return mm6p_nfc_manage_partitions : 0
[mm6 nfc] Created /proc/nfc


[mm6 nfc]reg_interface_status [b71]
[mm6 nfc]reg_interrupt_status [0]
[mm6 nfc]reg_interrupt_mask [1fff1]
[mm6 nfc]reg_nand_timing [7fffffff]
[mm6 nfc]reg_reserved1 [0]
[mm6 nfc]reg_write_protect_address [7]
[mm6 nfc]reg_write_protect_control [2]
[mm6 nfc]reg_encdec_word_count [81]
[mm6 nfc]reg_lock_protect [0]
[mm6 nfc]reg_boot_reset [b71]
[mm6 nfc]reg_interface_reset [b71]
[mm6 nfc]reg_masked_interrupt_status [0]
[mm6 nfc]reg_interface_control [4]
mice: PS/2 mouse device common for all mice
MMC: Registering mm6-mmc
MMC: Probe: pdev=c02d5600, pev=c02d5608
MMC: Enabling gpio interrupt for card-detection.
MMC: Initialized: max_seg_size=16383, max_phys_segs=4096, max_hw_segs=16383, transfer=4bit write-mode=SINGLE
NET: Registered protocol family 1
NET: Registered protocol family 17
yaffs: dev is 32505858 name is "mtdblock2" rw
yaffs: passed flags ""
VFS: Mounted root (yaffs2 filesystem).
Freeing init memory: 88K

****************
/PROC/YAFFS INFO
****************
Multi-version YAFFS built:Jul 27 2011 17:00:50
Device 0 "MM6+ Nand flash partition 2 (Image rootfs    )"
start_block.......... 0
end_block............ 1699
total_bytes_per_chunk 2048
use_nand_ecc......... 1
no_tags_ecc.......... 0
is_yaffs2............ 1
inband_tags.......... 0
empty_lost_n_found... 1
disable_lazy_load.... 0
refresh_period....... 500
n_caches............. 10
n_reserved_blocks.... 5
always_check_erased.. 0


data_bytes_per_chunk. 2048
chunk_grp_bits....... 0
chunk_grp_size....... 1
n_erased_blocks...... 501
blocks_in_checkpt.... 0

n_tnodes............. 5486
n_obj................ 357
n_free_chunks........ 34189

n_page_writes........ 78
n_page_reads......... 1324
n_erasures........... 1
n_gc_copies.......... 64
all_gcs.............. 13
passive_gc_count..... 13
oldest_dirty_gc_count 0
n_gc_blocks.......... 0
bg_gcs............... 0
n_retired_writes..... 0
n_retired_blocks..... 0
n_ecc_fixed.......... 0
n_ecc_unfixed........ 0
n_tags_ecc_fixed..... 0
n_tags_ecc_unfixed... 0
cache_hits........... 0
n_deleted_files...... 0
n_unlinked_files..... 14
refresh_count........ 1
n_bg_deletions....... 0
tags_used............ 71616
summary_used......... 4725

**************************
INVOKING NAND TO NAND COPY
**************************
# cp libQtNetwork.so.4 tmp

*****************************************************
This run is using my own printks, rather than tracing
*****************************************************

generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 80
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = c0
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 13
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 80
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 60
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 400
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 400
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 400
yaffs updating header
yaffs header updated with new chunk id of 1529d
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
yaffs_file_rd reading offset = c1e2b000 and bytes requested = 0
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e14000 and bytes requested = 1000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e15000 and bytes requested = 2000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e16000 and bytes requested = 3000
yaffs_file_rd read 1000 bytes.
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1e18000 and bytes requested = 0
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 0 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1e19000 and bytes requested = 1000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 1000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
yaffs_file_rd reading offset = c1e1a000 and bytes requested = 4000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e1b000 and bytes requested = 5000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e1c000 and bytes requested = 6000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e1d000 and bytes requested = 7000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e1e000 and bytes requested = 8000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1e1f000 and bytes requested = 9000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec0000 and bytes requested = a000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec1000 and bytes requested = b000
yaffs_file_rd read 1000 bytes.
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1ec2000 and bytes requested = 2000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 2000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1ec3000 and bytes requested = 3000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 3000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
yaffs_file_rd reading offset = c1ec4000 and bytes requested = c000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec5000 and bytes requested = d000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec6000 and bytes requested = e000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec7000 and bytes requested = f000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec8000 and bytes requested = 10000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ec9000 and bytes requested = 11000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1eca000 and bytes requested = 12000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ecb000 and bytes requested = 13000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ecc000 and bytes requested = 14000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ecd000 and bytes requested = 15000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ece000 and bytes requested = 16000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1ecf000 and bytes requested = 17000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f40000 and bytes requested = 18000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f41000 and bytes requested = 19000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f42000 and bytes requested = 1a000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f43000 and bytes requested = 1b000
yaffs_file_rd read 1000 bytes.
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f44000 and bytes requested = 4000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 4000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f45000 and bytes requested = 5000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 5000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f46000 and bytes requested = 6000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 6000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f47000 and bytes requested = 7000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 7000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f48000 and bytes requested = 8000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 8000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f49000 and bytes requested = 9000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 9000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f4a000 and bytes requested = a000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = a000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f4b000 and bytes requested = b000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = b000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
yaffs_file_rd reading offset = c1f4c000 and bytes requested = 1c000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f4d000 and bytes requested = 1d000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f4e000 and bytes requested = 1e000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f4f000 and bytes requested = 1f000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f50000 and bytes requested = 20000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f51000 and bytes requested = 21000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f52000 and bytes requested = 22000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f53000 and bytes requested = 23000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f54000 and bytes requested = 24000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f55000 and bytes requested = 25000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f56000 and bytes requested = 26000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f57000 and bytes requested = 27000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f58000 and bytes requested = 28000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f59000 and bytes requested = 29000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f5a000 and bytes requested = 2a000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f5b000 and bytes requested = 2b000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f5c000 and bytes requested = 2c000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f5d000 and bytes requested = 2d000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f5e000 and bytes requested = 2e000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f5f000 and bytes requested = 2f000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f60000 and bytes requested = 30000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f61000 and bytes requested = 31000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f62000 and bytes requested = 32000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f63000 and bytes requested = 33000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f64000 and bytes requested = 34000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f65000 and bytes requested = 35000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f66000 and bytes requested = 36000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f67000 and bytes requested = 37000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f68000 and bytes requested = 38000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f69000 and bytes requested = 39000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f6a000 and bytes requested = 3a000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f6b000 and bytes requested = 3b000
yaffs_file_rd read 1000 bytes.
yaffs updating header
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs header updated with new chunk id of 152b6
yaffs_file_rd reading offset = c1f6c000 and bytes requested = c000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = c000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f6d000 and bytes requested = d000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = d000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f6e000 and bytes requested = e000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = e000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f6f000 and bytes requested = f000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = f000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f70000 and bytes requested = 10000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 10000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f71000 and bytes requested = 11000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 11000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f72000 and bytes requested = 12000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 12000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f73000 and bytes requested = 13000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 13000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f74000 and bytes requested = 14000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 14000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f75000 and bytes requested = 15000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 15000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f76000 and bytes requested = 16000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 16000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f77000 and bytes requested = 17000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 17000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f78000 and bytes requested = 18000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 18000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f79000 and bytes requested = 19000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 19000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
generic_file_aio_read END retval = 2000
generic_file_aio_write START
yaffs_file_rd reading offset = c1f7a000 and bytes requested = 1a000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 1a000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
yaffs_file_rd reading offset = c1f7b000 and bytes requested = 1b000
yaffs_file_rd read 1000 bytes.
yaffs_wr_file will handle hole
yaffs_wr_file writing offset = 0 and bytes = 1b000 and write-through = 0
yaffs_do_file_wr wrote 1000 bytes.
generic_file_aio_write END ret = 2000
generic_file_aio_read START
generic_file_aio_read step 1
generic_file_aio_read step 6
generic_file_aio_read step 7
yaffs_file_rd reading offset = c1f7c000 and bytes requested = 3c000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f7d000 and bytes requested = 3d000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f7e000 and bytes requested = 3e000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f7f000 and bytes requested = 3f000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f80000 and bytes requested = 40000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f81000 and bytes requested = 41000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f82000 and bytes requested = 42000
yaffs_file_rd read 1000 bytes.
yaffs_file_rd reading offset = c1f83000 and bytes requested = 43000
Unable to handle kernel paging request at virtual address e3700011
pgd = c1e34000
[e3700011] *pgd=00000000
Internal error: Oops: 1 [#1]
Modules linked in:
CPU: 0    Not tainted  (2.6.22 #12)
PC is at yaffs_rd_chunk_tags_nand+0x54/0xdc
LR is at yaffs_unpack_tags2+0x98/0xa0
pc : [<c00d1384>]    lr : [<c00d1190>]    psr: 20000013
sp : c1f23b90  ip : c1f23ad8  fp : c1f23bec
r10: e3700001  r9 : 00000000  r8 : e3700001
r7 : e3700001  r6 : e3700001  r5 : e3700001  r4 : e3700001
r3 : 00000000  r2 : 00000001  r1 : 00000000  r0 : 00000001
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 0005317f  Table: 08e34000  DAC: 00000015
Process cp (pid: 178, stack limit = 0xc1f22260)
Stack: (0xc1f23b90 to 0xc1f24000)
3b80:                                     00000001 000001e0 00000088 00000800 
3ba0: 00000003 00000000 00000000 00000000 00001469 00000000 00000000 00000000 
3bc0: 00000000 00000000 00000000 00000000 c027e92c c1f83800 00000800 c02c4000 
3be0: c1f23c04 c1f23bf0 c00cb734 c00d1340 00001000 00000000 c1f23c54 c1f23c08 
3c00: c00cf7cc c00cb710 00001000 00000040 00043800 00000000 c00757dc c1f83800 
3c20: 00000800 00000800 c1f23c4c c1f83000 c0226060 c027e92c c02c4000 c1f23ca8 
3c40: 00100100 00200200 c1f23c7c c1f23c58 c00c6fd4 c00cf630 00001000 00000043 
3c60: c0226060 c1e515a0 c01ce4f8 c1c02e00 c1f23c9c c1f23c80 c00c719c c00c6f40 
3c80: c1c02e00 c0226060 00000020 00000007 c1f23d1c c1f23ca0 c0063234 c00c7170 
3ca0: c0043a50 c1e515a0 00000007 00000000 c0225f80 c0225fa0 c0225fc0 c0225fe0 
3cc0: c0226000 c0226020 c0226040 00000001 c01dcd08 c01db210 c1f23d14 c1f23ce8 
3ce0: c003fa5c c003f8fc c0226378 c0226098 c01cb9ec c1f23dcc c1c02e00 00000020 
3d00: c1e515a0 0000003c 00000000 c1e515a0 c1f23d44 c1f23d20 c006333c c0063088 
3d20: c001e04c c1f23dcc 00000000 00000020 00000002 c1c02e00 c1f23d64 c1f23d48 
3d40: c0063428 c00632d8 c1f23dcc 00000000 c1f23dcc 00000000 c1f23d94 c1f23d68 
3d60: c00635d8 c00633a8 c01d6de5 60000013 00000000 0000001c 0000001c 00001000 
3d80: 007d22c6 00000000 c1f23e24 c1f23d98 c005d250 c0063458 00000002 c003b35c 
3da0: c1f23ee0 c1e515a0 c1e515e4 c1c02e00 c1c02d68 000007d2 0000001e 0000001c 
3dc0: 0000001b 00000000 00002000 0000001c 00000020 00000000 00000000 0000001d 
3de0: 0000003c 00000020 00000020 00000000 00000000 00000000 c003b3c4 00000001 
3e00: 00000000 c1e515a0 00000008 c1e515e4 c1f23ee0 c1f23f20 c1f23e84 c1f23e28 
3e20: c005f3a4 c005d110 c1f23e44 c005c500 c01a4050 00002000 c1e51e60 00000001 
3e40: c1f23e7c 00000000 00002000 0006a008 00000000 00002000 c0080f10 c1f23e90 
3e60: c1e515a0 c1f23e90 c1f23f20 c1f23f78 c1f22000 fffffdee c1f23f4c c1f23e88 
3e80: c0078b90 c005f22c 0001c000 00000000 c005f0a0 c000c56c 00000000 00000001 
3ea0: ffffffff c1e515a0 00000000 00000000 00000000 00000000 c0262040 0004c000 
3ec0: 00000000 00000000 0004c000 c0262040 c004e250 c1f23ed4 c1f23ed4 c0025e34 
3ee0: 0001c000 00000000 00002008 401ece60 c1f23fac 00000000 c001da00 00002000 
3f00: c1e34000 00000000 c1f23f3c c1f23f18 c0047158 00000000 00000000 c1c03d5c 
3f20: 0006a008 00002000 c1e515a0 0006a008 c1f23f78 00002000 c001f674 00900003 
3f40: c1f23f74 c1f23f50 c00794bc c0078ae4 00000000 c00471e4 0001c000 00000000 
3f60: c1e515a0 00000003 c1f23fa4 c1f23f78 c00798cc c0079418 0001c000 00000000 
3f80: c0025944 00000000 00002000 00002000 00002000 0006a008 00000000 c1f23fa8 
3fa0: c001ee80 c0079898 00002000 00002000 00000003 0006a008 00002000 00000001 
3fc0: 00002000 00002000 0006a008 00000003 ffffffff 00000003 00000004 bebbdd68 
3fe0: 000648a8 bebbdb64 0004c554 40196ef4 60000010 00000003 400f4348 401486e4 
Backtrace: 
[<c00d1330>] (yaffs_rd_chunk_tags_nand+0x0/0xdc) from [<c00cb734>] (yaffs_rd_data_obj+0x34/0x7c)
 r7:c02c4000 r6:00000800 r5:c1f83800 r4:c027e92c
[<c00cb700>] (yaffs_rd_data_obj+0x0/0x7c) from [<c00cf7cc>] (yaffs_file_rd+0x1ac/0x228)
 r5:00000000 r4:00001000
[<c00cf620>] (yaffs_file_rd+0x0/0x228) from [<c00c6fd4>] (yaffs_readpage_nolock+0xa4/0x174)
[<c00c6f30>] (yaffs_readpage_nolock+0x0/0x174) from [<c00c719c>] (yaffs_readpage+0x3c/0x70)
 r7:c1c02e00 r6:c01ce4f8 r5:c1e515a0 r4:c0226060
[<c00c7160>] (yaffs_readpage+0x0/0x70) from [<c0063234>] (__do_page_cache_readahead+0x1bc/0x250)
 r6:00000007 r5:00000020 r4:c0226060
[<c0063078>] (__do_page_cache_readahead+0x0/0x250) from [<c006333c>] (blockable_page_cache_readahead+0x74/0xd0)
[<c00632c8>] (blockable_page_cache_readahead+0x0/0xd0) from [<c0063428>] (make_ahead_window+0x90/0xb0)
 r8:c1c02e00 r7:00000002 r6:00000020 r5:00000000 r4:c1f23dcc
[<c0063398>] (make_ahead_window+0x0/0xb0) from [<c00635d8>] (page_cache_readahead+0x190/0x1c0)
 r5:00000000 r4:c1f23dcc
[<c0063448>] (page_cache_readahead+0x0/0x1c0) from [<c005d250>] (do_generic_mapping_read+0x150/0x4c0)
[<c005d100>] (do_generic_mapping_read+0x0/0x4c0) from [<c005f3a4>] (generic_file_aio_read+0x188/0x1f4)
[<c005f21c>] (generic_file_aio_read+0x0/0x1f4) from [<c0078b90>] (do_sync_read+0xbc/0x10c)
[<c0078ad4>] (do_sync_read+0x0/0x10c) from [<c00794bc>] (vfs_read+0xb4/0x144)
[<c0079408>] (vfs_read+0x0/0x144) from [<c00798cc>] (sys_read+0x44/0x70)
 r7:00000003 r6:c1e515a0 r5:00000000 r4:0001c000
[<c0079888>] (sys_read+0x0/0x70) from [<c001ee80>] (ret_fast_syscall+0x0/0x2c)
 r6:0006a008 r5:00002000 r4:00002000
Code: e12fff3c ea000001 e1a03005 eb000211 (e5953010)