
On 05/16/2014 05:23 PM, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
Nothing in dfu_mmc.c ever sets dfu->r_left. Consequently, reads from MMC DFU altsettings would return 0 bytes.
Fix this by modifying dfu_read_medium_mmc() to set *len in the same way that dfu_nand.c's dfu_read_medium_nand() does.
Signed-off-by: Stephen Warren swarren@nvidia.com
Even though this mirrors how dfu_nand.c works, it feels odd to do this every time a HW read is performed, since I believe this can happen multiple times in a single DFU read transaction. Surely *len (and hence dfu->r_left) should be set up once when the altsetting is initialized, likely by calling a separate function in struct dfu_entity?
P.S. Could you please add a "dfu" entry into doc/git-mailrc?
Hmm. Scratch this specific patch. While it makes some forms of reads work, larger reads (e.g. of an entire 4MB boot0 eMMC HW partition) blow up horribly. If anyone has any pointers on how this is supposed to work, I'd be interested. I'm not sure that eMMC DFU read has actually been tested...