diff options
| author | sakumisu <[email protected]> | 2023-11-13 19:50:37 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2023-11-13 19:50:37 +0800 |
| commit | e795ab73a03a25b5d0799069cd0de59e146e53b0 (patch) | |
| tree | fbdbff33c3e352bd67533a43a6a9646eb86af07c | |
| parent | 5e689dfe1555c1f91572d2da9229ad962fb4dca2 (diff) | |
check and execute modeswitch first
| -rw-r--r-- | class/msc/usbh_msc.c | 18 |
1 files changed, 9 insertions, 9 deletions
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"); |
