[U-Boot] [PATCH v2 1/3] usb, dfu: extract flush code into seperate function

Lukasz Majewski l.majewski at samsung.com
Tue Mar 18 07:51:05 CET 2014


Hi Marek,

> On Monday, March 17, 2014 at 11:56:16 AM, Heiko Schocher wrote:
> > move the flushing code into an extra function dfu_flush(),
> > so it can be used from other code.
> > 
> > Signed-off-by: Heiko Schocher <hs at denx.de>
> > Cc: Lukasz Majewski <l.majewski at samsung.com>
> > Cc: Kyungmin Park <kyungmin.park at samsung.com>
> > Cc: Marek Vasut <marex at denx.de>
> > Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
> 
> [...]
> 
> > @@ -199,23 +221,7 @@ int dfu_write(struct dfu_entity *dfu, void
> > *buf, int size, int blk_seq_num)
> > 
> >  	/* end? */
> >  	if (size == 0) {
> > -		/* Now try and flush to the medium if needed. */
> > -		if (dfu->flush_medium)
> > -			ret = dfu->flush_medium(dfu);
> > -		printf("\nDFU complete CRC32: 0x%08x\n", dfu->crc);
> > -
> > -		/* clear everything */
> > -		dfu_free_buf();
> > -		dfu->crc = 0;
> > -		dfu->offset = 0;
> > -		dfu->i_blk_seq_num = 0;
> > -		dfu->i_buf_start = dfu_buf;
> > -		dfu->i_buf_end = dfu_buf;
> > -		dfu->i_buf = dfu->i_buf_start;
> > -
> > -		dfu->inited = 0;
> > -
> > -	}
> > +		ret = dfu_flush(dfu, buf, size, blk_seq_num);
> 
> This seems broken, at least because you didn't close the opened brace
> (see 'if (size == 0) {' .... I can fix this up when applying.
> 

I was prepared to pull those patches to u-boot-dfu repo today and test
them :-).

Afterwards, I would send PR to Tom.

Are you OK with this?

> Do you want this in 2014.04 or in -next ?

After testing I would go for 2014.04, if Tom doesn't mind. All in all
it "fixes" the DFU state machine - by adding missing states. Up till
now we had short cut in the DFU state machine.

> 
> [...]
> 
> Best regards,
> Marek Vasut



-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


More information about the U-Boot mailing list