
On Tue, Feb 9, 2016 at 12:18 PM, Maxime Ripard < maxime.ripard@free-electrons.com> wrote:
On Tue, Feb 09, 2016 at 09:58:10AM -0800, Steve Rae wrote:
So, to handle MMC versus NAND, I propose that we follow the same
method
used throughout 'fastboot':
+#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV total_blocks += blkcnt; +#endif +#ifdef CONFIG_FASTBOOT_FLASH_NAND_DEV
/* TBD */
+#endif
Eventually, we should support both. But is it even broken now? It was working just fine last time I tried. The write function is supposed to return the adjusted number of blocks that the write actually used (bad blocks included). Am I missing something?
Yes - it is broken now -- there is no "write function" in this CHUNK_TYPE_DONT_CARE logic....
Ah, yes, in the case where the block we skip is bad, and we should skip yet another block.
Jeffy also had an issue with the session_id that required to honour DONT_CARE to handle the case where you chain fastboot commands as part of one sessions. It should probably fix this issue as well.
yes -- I see this patch from jeffy (on Feb 2)
fastboot: sparse: fix chunk write offset calculation I haven't tested it, but it seems to ignore the "session_id" completely, and write each session, starting from "storage->start"... And since his "wrote_blocks" starts at 0 for each session, I don't think that is what we want.... Thanks, Steve PS. I have submitted a "v2" !!!
--
Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com