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 <hcl@xxxxxxxxxxxxxx> Fixes: 23e2203150b6 ("imx-usb-loader: Add i.MX8MP support") Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- 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