[U-Boot] [PATCH] dfu: mmc: return data from raw partition reads

Stephen Warren swarren at wwwdotorg.org
Tue May 20 00:07:44 CEST 2014


On 05/16/2014 05:23 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren at 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 at 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...


More information about the U-Boot mailing list