Hello, all! I use NAND flash with yaffs and jffs2 in turn. I discovered the following (possibly buggy) behavior. After the following sequence: /* format for yaffs */ mkyaffs -e /dev/mtdX /* change mind - format for jffs2 */ eraseall -j /dev/mtdX /* mount. Important! Without -t option! If use mount -t jffs2 everything * works! */ # mount /dev/mtdblock0 /mnt end_request: I/O error, dev 1f:00 (mtdblock), sector 0 /dev/mtdblock0: Input/output error # But in fact mount completed successfully! I have ext2 compiled in the kernel and the error arises exactly when kernel tries to mount ext2 first. It seems this occurred because during mkyaffs -e /dev/mtdX there is the call ioctl (fd, MEMSETOOBSEL, &oobsel). In fact, mkyaffs installs its oobsel info (pay attention that -e enforce ecc) into _driver_ _structure_ mtd corresponding to the device and never uninstall it. Then this cause bug when during mount without -t option kernel tries to read mtd device by read call. This cause call to nand_read, i.e. to nand_read_ecc (mtd, from, len, retlen, buf, NULL, NULL), where the last parameter is exactly oobsel info! But since yaffs installed its oobsel info into mtd->oobinfo it gets used in nand_read_ecc: // use chip default if zero if (oobsel == NULL) oobsel = &mtd->oobinfo; Seems this causes buggy behavior. Any suggestions are welcome! Exactly it is interesting where is the correct place to uninstall the yaffs oobsel info from the mtd driver. Regards, Eugeny --------------------------------------------------------------------------------------- This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org). If mailing list membership is no longer wanted you can remove yourself from the list by sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" (without the quotes) as the subject.