summaryrefslogtreecommitdiff
path: root/src/device/usbd.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-07-17 16:04:55 +0700
committerhathach <[email protected]>2018-07-17 16:04:55 +0700
commit798ce59ebd46118c7d64e9cfa54319787715ef7d (patch)
treebb52af0a951363988a5249fdc0b8bf888ab3268f /src/device/usbd.c
parentabb37e98baa16ae9f99f9d7562e4ee166e8bc4de (diff)
revert usbd_control_xfer_st() implementation
enhance cdc with better multiple interfaces support add default ep size for cdc and msc device CFG_TUD_CDC_EPSIZE, CFG_TUD_MSC_EPSIZE
Diffstat (limited to 'src/device/usbd.c')
-rw-r--r--src/device/usbd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 0eac22c15..e8dfd83dd 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -334,7 +334,8 @@ static tusb_error_t proc_control_request_st(uint8_t rhport, tusb_control_request
if ( len )
{
STASK_ASSERT( len <= CFG_TUD_CTRL_BUFSIZE );
- usbd_control_xfer_st(rhport, p_request->bmRequestType_bit.direction, buffer, len );
+ memcpy(_usbd_ctrl_buf, buffer, len);
+ usbd_control_xfer_st(rhport, p_request->bmRequestType_bit.direction, _usbd_ctrl_buf, len);
}else
{
dcd_control_stall(rhport); // stall unsupported descriptor
@@ -342,7 +343,8 @@ static tusb_error_t proc_control_request_st(uint8_t rhport, tusb_control_request
}
else if (TUSB_REQ_GET_CONFIGURATION == p_request->bRequest )
{
- usbd_control_xfer_st(rhport, p_request->bmRequestType_bit.direction, &_usbd_dev.config_num, 1);
+ memcpy(_usbd_ctrl_buf, &_usbd_dev.config_num, 1);
+ usbd_control_xfer_st(rhport, p_request->bmRequestType_bit.direction, _usbd_ctrl_buf, 1);
}
else if ( TUSB_REQ_SET_ADDRESS == p_request->bRequest )
{