Bug: Flash writing & suspending

Holger Schurig hs4233 at mail.mn-solutions.de
Wed Oct 5 08:37:11 EDT 2005


Hi !  I get the above error message sometimes when I write to the flash.

I use Kernel 2.6.13-rc2, but with the MTD (drivers/mtd/, include/mtd, 
include/linux/mtd) from today's CVS. JFFS2 is still the old one.

 partitions are

I wrote a little tests script which can trigger the error:

----------------------------------------------
#!/bin/sh
cd /tmp
for i in 0 1 2 3 4 5 6 7 8 9; do
        logread >log$i.txt
done

for i in 0 1 2 3 4 5 6 7 8 9; do
        rm -f /opt/mn/log*.txt
        cp log*.txt /opt/mn
done

ls /opt/mn/

echo mem >/sys/power/state

ls /opt/mn/
----------------------------------------------

Now I run this script, resume by pressing a key, run it, resume, run it etc. 
Sometimes at the first run, sometimes at the second or third I get this 
error:

Flash: Waiting for chip to be ready timed out. Status 913ad69c
Write of 48 bytes at 0x01db67b4 failed. returned -5, retlen 0
Not marking the space at 0x01db67b4 as dirty because the flash driver returned 
retlen zero
Flash: Waiting for chip to be ready timed out. Status e0011985
error -5 reading node at 0x00890c44 in get_inode_nodes()
jffs2_get_inode_nodes() for ino 1086 returned -5
...



So, where is the culprit?






Additional infos


My partitions are:

/dev/root on / type jffs2 (rw,noatime)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
none on /sys type sysfs (rw)
tmpfs on /var type tmpfs (rw)
tmpfs on /tmp type tmpfs (rw)


Flash related kernel messages are:

...
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
...
Flash: Found 2 x16 devices at 0x0 in 32-bit bank
 Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Creating 3 MTD partitions on "Flash":
0x00000000-0x00040000 : "Boot"
0x00040000-0x00140000 : "Linux"
0x00140000-0x02000000 : "Files"
...
VFS: Mounted root (jffs2 filesystem).
...


The flash chips are Intel Strataflash 28F128J3A-150 on an Intel PXA255 device.


Flash related kernel .config is like this (all non-mention 
CONFIG_MTD-variables are in the 'is not set'-state):

CONFIG_MTD=y
CONFIG_MTD_PARTITIONS=y

CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y

CONFIG_MTD_CFI=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_UTIL=y  
CONFIG_MTD_MAP_MN=y

CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y




More information about the linux-mtd mailing list