We do an initial do_status() every time, which fails for i.MX8MP and
i.MX8MN:

  found i.MX8MP USB device [1fc9:0146]
  4 in err=-9, last_trans=0  00 00 00 00
  status failed

If we instead skip it for SDPS (i.e. hid_endpoint), upload works as
expected (tested on i.MX8M Nano).

Reported-by: Hans Christian Lønstad <[email protected]>
Fixes: 23e2203150b6 ("imx-usb-loader: Add i.MX8MP support")
Signed-off-by: Ahmad Fatoum <[email protected]>
---
 scripts/imx/imx-usb-loader.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/scripts/imx/imx-usb-loader.c b/scripts/imx/imx-usb-loader.c
index 1242f2dedda5..a98ab0e33f8a 100644
--- a/scripts/imx/imx-usb-loader.c
+++ b/scripts/imx/imx-usb-loader.c
@@ -1628,10 +1628,12 @@ int main(int argc, char *argv[])
                goto out;
        }
 
-       err = do_status();
-       if (err) {
-               printf("status failed\n");
-               goto out;
+       if (!mach_id->hid_endpoint) {
+               err = do_status();
+               if (err) {
+                       printf("status failed\n");
+                       goto out;
+               }
        }
 
        if (initfile) {
-- 
2.30.2


Reply via email to