From: Sascha Hauer <s.ha...@pengutronix.de>

Instead of bailing out skip unknown tags. These tags are usually
doing operations to poll for a certain register state. The correct
solution is to implement this register polling, but for now delay
execution for a while and assume the register has the correct
state afterwards.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 scripts/imx/imx-usb-loader.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/scripts/imx/imx-usb-loader.c b/scripts/imx/imx-usb-loader.c
index 475917bc6c31..c86260cdea3f 100644
--- a/scripts/imx/imx-usb-loader.c
+++ b/scripts/imx/imx-usb-loader.c
@@ -615,8 +615,10 @@ static int write_dcd_table_ivt(struct libusb_device_handle 
*h, struct usb_id *p_
                printf("sub dcd length %x\n", s_length);
 
                if ((dcd[0] != 0xcc) || (dcd[3] != 0x04)) {
-                       printf("Unknown sub tag\n");
-                       return -1;
+                       printf("Skipping unknown sub tag 0x%02x with len 
%04x\n", dcd[0], s_length);
+                       usleep(50000);
+                       dcd += s_length;
+                       continue;
                }
                dcd += 4;
 
-- 
2.1.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to