diff options
| author | Zhihong Chen <[email protected]> | 2024-03-13 11:28:12 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2024-03-13 19:25:07 +0800 |
| commit | 869b5809f38f47d8f3078e5ad7d10bb3f737b6b6 (patch) | |
| tree | a7d1c02c657e268a78b394a3db6a47ad94101870 | |
| parent | 4c062d44423e23aee89642eef5653b179d248d70 (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.c | 8 |
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; |
