summaryrefslogtreecommitdiff
path: root/tinyusb/device/usbd.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2014-04-21 21:55:17 +0700
committerhathach <[email protected]>2014-04-21 21:55:17 +0700
commitdfae1904d51069f4714d97638764fb1f2dd1d4df (patch)
tree19459df965564daacf11410aef35e56224b1c6a0 /tinyusb/device/usbd.c
parent9a48a4aa0318cc499369758b6cbafe9088fb85bb (diff)
minor adjustment to dcd_lpc43xx.c
usbd still defer setup received and handle in usbd task since the problem is caused by usb mini otg on the board EA4357.
Diffstat (limited to 'tinyusb/device/usbd.c')
-rw-r--r--tinyusb/device/usbd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c
index 258a8ef9f..693e50ada 100644
--- a/tinyusb/device/usbd.c
+++ b/tinyusb/device/usbd.c
@@ -417,6 +417,7 @@ void usbd_dcd_bus_event_isr(uint8_t coreid, usbd_bus_event_type_t bus_event)
void usbd_setup_received_isr(uint8_t coreid, tusb_control_request_t * p_request)
{
+#if 1
usbd_task_event_t task_event =
{
.coreid = coreid,
@@ -425,6 +426,15 @@ void usbd_setup_received_isr(uint8_t coreid, tusb_control_request_t * p_request)
task_event.setup_received = (*p_request);
osal_queue_send(usbd_queue_hdl, &task_event);
+#else
+ if ( (p_request->wLength > 0) && (p_request->bmRequestType_bit.direction == TUSB_DIR_HOST_TO_DEV) )
+ { // Control Out with data --> get data first and handle in control complete
+
+ }else
+ {
+ usbd_control_request_subtask(coreid, p_request);
+ }
+#endif
}
void usbd_xfer_isr(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xferred_bytes)