summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2023-11-13 19:50:37 +0800
committersakumisu <[email protected]>2023-11-13 19:50:37 +0800
commite795ab73a03a25b5d0799069cd0de59e146e53b0 (patch)
treefbdbff33c3e352bd67533a43a6a9646eb86af07c
parent5e689dfe1555c1f91572d2da9229ad962fb4dca2 (diff)
check and execute modeswitch first
-rw-r--r--class/msc/usbh_msc.c18
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");