summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-07-19 17:10:53 +0700
committerhathach <[email protected]>2024-07-19 17:10:53 +0700
commitbe18af823591389a12e246f65784646f93443882 (patch)
tree5a9cf837740fe869f1460fe9f6784ff0560805fc
parent4b55af17c90acad9c03f5f3b41645d4ed954d42f (diff)
revert changes to usbds configuration_reset() (deal with it in separated PR)
-rw-r--r--src/class/cdc/cdc_device.c3
-rw-r--r--src/device/usbd.c12
2 files changed, 5 insertions, 10 deletions
diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c
index 792aedf26..570c825ab 100644
--- a/src/class/cdc/cdc_device.c
+++ b/src/class/cdc/cdc_device.c
@@ -81,8 +81,7 @@ typedef struct {
CFG_TUD_MEM_SECTION static cdcd_interface_t _cdcd_itf[CFG_TUD_CDC];
static tud_cdc_configure_fifo_t _cdcd_fifo_cfg;
-static bool _prep_out_transaction (cdcd_interface_t* p_cdc, bool itf_open)
-{
+static bool _prep_out_transaction (cdcd_interface_t* p_cdc, bool itf_open) {
uint8_t const rhport = 0;
// Skip if usb is not ready yet
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 2735e35fd..4105a71a4 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -495,19 +495,15 @@ bool tud_deinit(uint8_t rhport) {
}
static void configuration_reset(uint8_t rhport) {
- // Save setup_count for restore
- uint8_t setup_count = _usbd_dev.setup_count;
- // Clear mounted status first to ensure tud_ready() return false before driver clean up.
- tu_varclr(&_usbd_dev);
- memset(_usbd_dev.itf2drv, DRVID_INVALID, sizeof(_usbd_dev.itf2drv)); // invalid mapping
- memset(_usbd_dev.ep2drv, DRVID_INVALID, sizeof(_usbd_dev.ep2drv)); // invalid mapping
- _usbd_dev.setup_count = setup_count;
-
for (uint8_t i = 0; i < TOTAL_DRIVER_COUNT; i++) {
usbd_class_driver_t const* driver = get_driver(i);
TU_ASSERT(driver,);
driver->reset(rhport);
}
+
+ tu_varclr(&_usbd_dev);
+ memset(_usbd_dev.itf2drv, DRVID_INVALID, sizeof(_usbd_dev.itf2drv)); // invalid mapping
+ memset(_usbd_dev.ep2drv, DRVID_INVALID, sizeof(_usbd_dev.ep2drv)); // invalid mapping
}
static void usbd_reset(uint8_t rhport) {