diff --git a/class/msc/usbh_msc.c b/class/msc/usbh_msc.c index 81d478c5..d492be29 100644 --- a/class/msc/usbh_msc.c +++ b/class/msc/usbh_msc.c @@ -329,15 +329,6 @@ static int usbh_msc_connect(struct usbh_hubport *hport, uint8_t intf) } } - ret = usbh_msc_scsi_testunitready(msc_class); - if (ret < 0) { - ret = usbh_msc_scsi_requestsense(msc_class); - if (ret < 0) { - USB_LOG_ERR("Fail to scsi_testunitready\r\n"); - return ret; - } - } - if (g_msc_modeswitch_config) { uint8_t num = 0; while (1) { @@ -355,6 +346,15 @@ static int usbh_msc_connect(struct usbh_hubport *hport, uint8_t intf) } } + ret = usbh_msc_scsi_testunitready(msc_class); + if (ret < 0) { + ret = usbh_msc_scsi_requestsense(msc_class); + if (ret < 0) { + USB_LOG_ERR("Fail to scsi_testunitready\r\n"); + return ret; + } + } + ret = usbh_msc_scsi_inquiry(msc_class); if (ret < 0) { USB_LOG_ERR("Fail to scsi_inquiry\r\n");