diff options
| author | Tom Rini <trini@ti.com> | 2013-08-01 09:19:28 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-08-01 09:19:28 -0400 | 
| commit | 245d65b6e503f3a159cffb3392ac3b2c25606d8e (patch) | |
| tree | 468379202891d516817dfad73ac6ba907bb1156a /common/cmd_dfu.c | |
| parent | 327b5c9f7cde4e621c2f49fbd2e9890d32f2bef8 (diff) | |
| parent | 8bc3603675f7bf4dfa4eb6bdaf2aa0a8ddce9fa6 (diff) | |
| download | olio-uboot-2014.01-245d65b6e503f3a159cffb3392ac3b2c25606d8e.tar.xz olio-uboot-2014.01-245d65b6e503f3a159cffb3392ac3b2c25606d8e.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-usb
Diffstat (limited to 'common/cmd_dfu.c')
| -rw-r--r-- | common/cmd_dfu.c | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c index db066acc3..793c42212 100644 --- a/common/cmd_dfu.c +++ b/common/cmd_dfu.c @@ -19,8 +19,8 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  {  	const char *str_env;  	char *s = "dfu"; +	int ret, i = 0;  	char *env_bkp; -	int ret;  	if (argc < 3)  		return CMD_RET_USAGE; @@ -49,6 +49,15 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  	g_dnl_register(s);  	while (1) { +		if (dfu_reset()) +			/* +			 * This extra number of usb_gadget_handle_interrupts() +			 * calls is necessary to assure correct transmission +			 * completion with dfu-util +			 */ +			if (++i == 10) +				goto exit; +  		if (ctrlc())  			goto exit; @@ -60,6 +69,9 @@ done:  	dfu_free_entities();  	free(env_bkp); +	if (dfu_reset()) +		run_command("reset", 0); +  	return CMD_RET_SUCCESS;  } |