|
@@ -431,7 +431,7 @@ handle_t upg_board_all_get(void)
|
|
|
|
|
|
|
|
int upg_board_all_update(void)
|
|
int upg_board_all_update(void)
|
|
|
{
|
|
{
|
|
|
- int i,r,addr;
|
|
|
|
|
|
|
+ int i,r,addr,addr2=-1;
|
|
|
list_node_t *ln=NULL;
|
|
list_node_t *ln=NULL;
|
|
|
upg_handle_t *h=&uHandle;
|
|
upg_handle_t *h=&uHandle;
|
|
|
handle_t l=h->all;
|
|
handle_t l=h->all;
|
|
@@ -448,11 +448,14 @@ int upg_board_all_update(void)
|
|
|
list_for_each_entry(tmp,&hd->list,list) {
|
|
list_for_each_entry(tmp,&hd->list,list) {
|
|
|
if(tmp->product_saddr>0) {
|
|
if(tmp->product_saddr>0) {
|
|
|
addr = tmp->product_saddr;
|
|
addr = tmp->product_saddr;
|
|
|
|
|
+ if(addr==addr2) continue;
|
|
|
|
|
+
|
|
|
for(i=0; i<RETRY_MAX; i++) {
|
|
for(i=0; i<RETRY_MAX; i++) {
|
|
|
r = board_get_info(mm, addr, &swinfo);
|
|
r = board_get_info(mm, addr, &swinfo);
|
|
|
if(r==0) {
|
|
if(r==0) {
|
|
|
sw_to_info(addr, &info, &swinfo, ONLINE);
|
|
sw_to_info(addr, &info, &swinfo, ONLINE);
|
|
|
xlist_append(l, 0, &info, sizeof(info));
|
|
xlist_append(l, 0, &info, sizeof(info));
|
|
|
|
|
+ addr2 = addr;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|