Richard, Il 29/03/2015 14:13, Richard Weinberger ha scritto: > + mutex_lock(&ubi->buf_mutex); > + err = ubi_io_read(ubi, ubi->peb_buf, e->pnum, 0, ubi->peb_size); > + mutex_unlock(&ubi->buf_mutex); > + if (err == UBI_IO_BITFLIPS) { > + dbg_wl("found bitflips in PEB %d", e->pnum); > + spin_lock(&ubi->wl_lock); > +
IIUC you trigger the action as soon as you have a bitflip error, is this correct? Isn't this too much conservative? You usually have a RBER on MLC devices that's between 1E-7 (for brand new devices) and 1E-4 (for devices with 1k-2k P/E cycle after 100k-300k read-without-P/E) Having a few bitflips on a block read is more that usual and current ECC can correct more that 16 bit error over 512/1KiB. WDYT? Kind Regards, -- Andrea SCIAN DAVE Embedded Systems -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/