Hello, the yaffs_read() function uses yaffs_file_rd() to obtain the data from the flash. Lets have a look at yaffs_file_rd() and suppose n_bytes > 0. Thus we have n > 0. I suppose n_copy is never negative. In the loop n is only modified via n -= n_copy and thus n_copy must be greater than zero at some time otherwise we loop for ever. The n_done is only modified via n_done += n_copy and since n_copy is greater than zero at some time the n_done will be greater than zero too. Thus the return value of yaffs_file_rd() is greater than zero iff n_bytes is greater than zero. This means that the yaffs_read() never returns an error status in case we have an uncorrectable ECC error on the flash (YAFFS_ECC_RESULT_UNFIXED)? Kind regards, Sebastian PS: The yaffs_rd_data_obj() returns an error status, but it is discarded in yaffs_file_rd(). -- Sebastian Huber, embedded brains GmbH Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany Phone : +49 89 18 90 80 79-6 Fax : +49 89 18 90 80 79-9 E-Mail : sebastian.huber@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.