summaryrefslogtreecommitdiff
path: root/src/usbh_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/usbh_core.c')
-rw-r--r--src/usbh_core.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/usbh_core.c b/src/usbh_core.c
index c7eca7f..0570ac3 100644
--- a/src/usbh_core.c
+++ b/src/usbh_core.c
@@ -609,27 +609,8 @@ static void device_enumerate(usbh_device_t *dev, usbh_packet_callback_data_t cb_
setup_data.wIndex = 0;
setup_data.wLength = 0;
- dev->state = USBH_ENUM_STATE_SET_CONFIGURATION_EMPTY_READ;
-
- device_xfer_control_write_setup(&setup_data, sizeof(setup_data), device_enumerate, dev);
- }
- break;
-
- case USBH_ENUM_STATE_SET_CONFIGURATION_EMPTY_READ:
- {
- switch (cb_data.status) {
- case USBH_PACKET_CALLBACK_STATUS_OK:
- dev->state = USBH_ENUM_STATE_SET_CONFIGURATION_COMPLETE;
- device_xfer_control_read(0, 0, device_enumerate, dev);
- break;
-
- case USBH_PACKET_CALLBACK_STATUS_EFATAL:
- case USBH_PACKET_CALLBACK_STATUS_EAGAIN:
- case USBH_PACKET_CALLBACK_STATUS_ERRSIZ:
- device_enumeration_terminate(dev);
- ERROR(cb_data.status);
- break;
- }
+ dev->state = USBH_ENUM_STATE_SET_CONFIGURATION_COMPLETE;
+ device_control(dev, device_enumerate, &setup_data, 0);
}
break;