Fixed by adding FL_STATUS to FL_READY state in put_chip()? Console output ============== root@191.1.1.30:~# erase /dev/mtd2 0 58 MTD_open Erase Total 58 Units MTD_ioctl MTD_ioctl Performing Flash Erase of length 524288 at offset 0x0MTD_ioctl Performing Flash Erase of length 524288 at offset 0x80000MTD_ioctl Performing Flash Erase of length 524288 at offset 0x100000MTD_ioctl . . . Performing Flash Erase of length 524288 at offset 0x1c00000MTD_ioctl Performing Flash Erase of length 524288 at offset 0x1c80000MTD_ioctl done MTD_close root@191.1.1.30:~# echo 9>/proc/sys/kernel/printk root@191.1.1.30:~# mount -t jffs2 /dev/mtdblock2 /mnt/thales JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis Communications AB. mtdblock_open ok put_chip() called with oldstate 1!! root@191.1.1.30:~# put_chip() called with oldstate 1!! put_chip() called with oldstate 1!! put_chip() called with oldstate 1!! put_chip() called with oldstate 1!! /var/log/messages ================= Jan 1 00:00:33 191 kernel: MTD_open Jan 1 00:00:33 191 kernel: MTD_ioctl Jan 1 00:01:04 191 last message repeated 35 times Jan 1 00:01:26 191 last message repeated 24 times Jan 1 00:01:27 191 kernel: MTD_close Jan 1 00:05:11 191 kernel: JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis Communications AB. Jan 1 00:05:11 191 kernel: 000, unchecked 00000000, free 00080000) After fix messages ================== jffs2: No clean, dirty _or_ erasable blocks to GC from! Where are they all? jffs2: Couldn't find erase block to garbage collect! Sending all processes the KILL signal... done. Unmounting remote filesystems... done. Deactivating swap... done. Unmounting local filesystems... mtdblock_release ok