
Hi Heiko,
Thanks to this multiple call of function dfu_config_entities() gives continuous dfu alt numbering until call dfu_free_entities().
This allows to store dfu entities in multiple variables.
Could you test this patch on your boards, which are using DFU?
Thanks in advance.
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com Acked-by: Ćukasz Majewski l.majewski@samsung.com
drivers/dfu/dfu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index 07011e9..56e69fd 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -19,6 +19,7 @@ static bool dfu_reset_request; static LIST_HEAD(dfu_list); static int dfu_alt_num; +static int alt_num_cnt;
bool dfu_reset(void) { @@ -377,6 +378,8 @@ void dfu_free_entities(void) if (t) free(t); INIT_LIST_HEAD(&dfu_list);
- alt_num_cnt = 0;
}
int dfu_config_entities(char *env, char *interface, int num) @@ -394,11 +397,12 @@ int dfu_config_entities(char *env, char *interface, int num) for (i = 0; i < dfu_alt_num; i++) {
s = strsep(&env, ";");
ret = dfu_fill_entity(&dfu[i], s, i, interface, num);
ret = dfu_fill_entity(&dfu[i], s, alt_num_cnt,
interface, num); if (ret) return -1;
list_add_tail(&dfu[i].list, &dfu_list);
alt_num_cnt++;
}
return 0;