summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhihong Chen <[email protected]>2024-03-13 11:28:12 +0800
committersakumisu <[email protected]>2024-03-13 19:25:07 +0800
commit869b5809f38f47d8f3078e5ad7d10bb3f737b6b6 (patch)
treea7d1c02c657e268a78b394a3db6a47ad94101870
parent4c062d44423e23aee89642eef5653b179d248d70 (diff)
core: usbh_core: fix ep0_request_buffer index lose
- fix ep0_request_buffer index lose Signed-off-by: Zhihong Chen <[email protected]>
-rw-r--r--core/usbh_core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/usbh_core.c b/core/usbh_core.c
index 56502dd1..0cb21f54 100644
--- a/core/usbh_core.c
+++ b/core/usbh_core.c
@@ -510,10 +510,10 @@ int usbh_enumerate(struct usbh_hubport *hport)
goto errout;
}
- parse_config_descriptor(hport, (struct usb_configuration_descriptor *)ep0_request_buffer, USB_SIZEOF_CONFIG_DESC);
+ parse_config_descriptor(hport, (struct usb_configuration_descriptor *)ep0_request_buffer[hport->bus->busid], USB_SIZEOF_CONFIG_DESC);
/* Read the full size of the configuration data */
- uint16_t wTotalLength = ((struct usb_configuration_descriptor *)ep0_request_buffer)->wTotalLength;
+ uint16_t wTotalLength = ((struct usb_configuration_descriptor *)ep0_request_buffer[hport->bus->busid])->wTotalLength;
setup->bmRequestType = USB_REQUEST_DIR_IN | USB_REQUEST_STANDARD | USB_REQUEST_RECIPIENT_DEVICE;
setup->bRequest = USB_REQUEST_GET_DESCRIPTOR;
@@ -541,7 +541,7 @@ int usbh_enumerate(struct usbh_hubport *hport)
}
config_value = ((struct usb_configuration_descriptor *)ep0_request_buffer[hport->bus->busid])->bConfigurationValue;
- memcpy(hport->raw_config_desc, ep0_request_buffer, wTotalLength);
+ memcpy(hport->raw_config_desc, ep0_request_buffer[hport->bus->busid], wTotalLength);
#ifdef CONFIG_USBHOST_GET_STRING_DESC
uint8_t string_buffer[128];
@@ -595,7 +595,7 @@ int usbh_enumerate(struct usbh_hubport *hport)
setup->wIndex = 0x0004;
setup->wLength = 16;
- ret = usbh_control_transfer(hport, setup, ep0_request_buffer);
+ ret = usbh_control_transfer(hport, setup, ep0_request_buffer[hport->bus->busid]);
if (ret < 0 && (ret != -EPERM)) {
USB_LOG_ERR("Failed to get msosv1 compat id,errorcode:%d\r\n", ret);
goto errout;