Hi Bo,

> After dfu buffer is initialized, the buffer should be all available,
> while not 0. Initialize its value to min(dfu_buf_size, dfu->r_left).
> 
> Signed-off-by: Bo Shen <voice.s...@atmel.com>
> 
> ---
>  drivers/dfu/dfu.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c
> index 65c6984..b8c8aa4 100644
> --- a/drivers/dfu/dfu.c
> +++ b/drivers/dfu/dfu.c
> @@ -288,7 +288,7 @@ int dfu_read(struct dfu_entity *dfu, void *buf,
> int size, int blk_seq_num) dfu->offset = 0;
>               dfu->i_buf_end = dfu_get_buf() + dfu_buf_size;
>               dfu->i_buf = dfu->i_buf_start;
> -             dfu->b_left = 0;
> +             dfu->b_left = min(dfu_buf_size, dfu->r_left);
>  

I've testd in on Trats. It causes dfu read to be performed two times.

Could you write a more verbose message to explain the problem that you
are trying to solve? I can _only_ suppose that you want to read/write
data from/to NAND memory.

So, I'm curious why dfu-util breaks with your setup but works at am335x.
Both chips are supposed to use dfu_nand.c for performing NAND
read/write.


>               dfu->bad_skip = 0;
>  



-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to