**** BEGIN LOGGING AT Sat Jan 04 02:59:58 2014 Jan 04 09:28:37 gm lumag Jan 04 10:00:30 lumag: I've found the buffer write bug! Jan 04 10:00:40 ant_home, hello Jan 04 10:01:22 it happens that a block is erase-suspended and a buffer write is tried on th esame block Jan 04 10:01:41 not allowed, write must be on another block Jan 04 10:02:26 I think the bug in cfi code is about Jan 04 10:02:27 Supported functions after Suspend: 01 Jan 04 10:02:28 - Program after Erase Suspend: supported Jan 04 10:02:40 yes, but in another block ;) Jan 04 10:02:54 so probably disabling this last extra-feature will cure Jan 04 10:03:08 but is a workaround for a kernel bug... Jan 04 10:03:12 (imho) Jan 04 10:05:15 testing Jan 04 14:42:07 lumag: http://patchwork.ozlabs.org/patch/143476/ Jan 04 14:44:33 inline_map_write b000b0 ofs 6a0800 Jan 04 14:44:33 inline_map_write 700070 ofs 6a0800 Jan 04 14:44:33 inline_map_read c0c0c0c0 ofs 6a0800 Jan 04 14:44:33 inline_map_read c0c0c0c0 ofs 6a0800 Jan 04 14:44:33 inline_map_write e800e8 ofs 6a0800 Jan 04 14:44:34 inline_map_read 800080 ofs 6a0800 Jan 04 14:44:36 inline_map_write f000f ofs 6a0800 Jan 04 14:45:28 after e800e8 only Xstatus (0x80) appears, the previous bit is ignored Jan 04 14:46:36 then, after you writes the nr of words in the buffer, the Xstatus becomes Status again so the 6th bit is toggled Jan 04 14:46:39 inline_map_write f000f ofs 6a0800 Jan 04 14:46:39 inline_map_write 0 ofs 6a0800 Jan 04 14:46:39 inline_map_write 0 ofs 6a0804 Jan 04 14:46:39 inline_map_write 0 ofs 6a0808 Jan 04 14:46:39 inline_map_write 0 ofs 6a080c Jan 04 14:46:40 inline_map_write 0 ofs 6a0810 Jan 04 14:46:44 inline_map_write 0 ofs 6a0814 Jan 04 14:46:46 inline_map_write 0 ofs 6a0818 Jan 04 14:46:48 inline_map_write 0 ofs 6a081c Jan 04 14:46:50 inline_map_write 0 ofs 6a0820 Jan 04 14:46:52 inline_map_write 0 ofs 6a0824 Jan 04 14:46:54 inline_map_write 0 ofs 6a0828 Jan 04 14:46:56 inline_map_write 0 ofs 6a082c Jan 04 14:46:58 inline_map_write 0 ofs 6a0830 Jan 04 14:47:00 inline_map_write 0 ofs 6a0834 Jan 04 14:47:02 inline_map_write 0 ofs 6a0838 Jan 04 14:47:04 inline_map_write 0 ofs 6a083c Jan 04 14:47:06 inline_map_write d000d0 ofs 6a0800 Jan 04 14:47:08 inline_map_read 40404040 ofs 6a0800 Jan 04 14:47:10 inline_map_read c0c0c0c0 ofs 6a0800 Jan 04 14:47:14 inline_map_read c0c0c0c0 ofs 6a0800 Jan 04 14:47:16 cfi_fixup_LH28F640BF_erase_suspend Jan 04 14:47:18 inline_map_write d000d0 ofs 6a0800 Jan 04 14:47:20 inline_map_write 700070 ofs 6a0800 Jan 04 14:47:22 cfi_fixup_LH28F640BF_delay_after_resume Jan 04 14:47:44 so two errors here: offs ofs 6a0800 was suspended on erase and a buffer write failing over it... :/ Jan 04 14:48:15 that ignoring the write is allowed on another block AND on another partition Jan 04 14:49:20 oh, and sometime the chips are out of sync Jan 04 14:49:37 inline_map_write d000d0 ofs 6a0840 Jan 04 14:49:37 inline_map_read 4040 ofs 6a0840 Jan 04 14:49:37 inline_map_read 8080c0c0 ofs 6a0840 Jan 04 14:49:37 inline_map_read 8080c0c0 ofs 6a0840 **** ENDING LOGGING AT Sun Jan 05 02:59:58 2014