revert changes to usbds configuration_reset() (deal with it in separated PR)
This commit is contained in:
@@ -81,8 +81,7 @@ typedef struct {
|
|||||||
CFG_TUD_MEM_SECTION static cdcd_interface_t _cdcd_itf[CFG_TUD_CDC];
|
CFG_TUD_MEM_SECTION static cdcd_interface_t _cdcd_itf[CFG_TUD_CDC];
|
||||||
static tud_cdc_configure_fifo_t _cdcd_fifo_cfg;
|
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;
|
uint8_t const rhport = 0;
|
||||||
|
|
||||||
// Skip if usb is not ready yet
|
// Skip if usb is not ready yet
|
||||||
|
|||||||
@@ -495,19 +495,15 @@ bool tud_deinit(uint8_t rhport) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void configuration_reset(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++) {
|
for (uint8_t i = 0; i < TOTAL_DRIVER_COUNT; i++) {
|
||||||
usbd_class_driver_t const* driver = get_driver(i);
|
usbd_class_driver_t const* driver = get_driver(i);
|
||||||
TU_ASSERT(driver,);
|
TU_ASSERT(driver,);
|
||||||
driver->reset(rhport);
|
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) {
|
static void usbd_reset(uint8_t rhport) {
|
||||||
|
|||||||
Reference in New Issue
Block a user