From 22f1dbe14cf8ee35a7dfb0d5f80164bf67ec9769 Mon Sep 17 00:00:00 2001 From: Russ Butler Date: Thu, 15 Mar 2018 16:59:17 -0500 Subject: [PATCH] Fix USB init problems Initialize the _transfer structure so the behavior is the same regardless of prior memory contents. This fixes a hang during USB testing when CI flags are used. --- usb/device/USBDevice/USBDevice.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usb/device/USBDevice/USBDevice.cpp b/usb/device/USBDevice/USBDevice.cpp index c99b9824ef..c724da23aa 100644 --- a/usb/device/USBDevice/USBDevice.cpp +++ b/usb/device/USBDevice/USBDevice.cpp @@ -1140,6 +1140,8 @@ USBDevice::USBDevice(USBPhy *phy, uint16_t vendor_id, uint16_t product_id, uint1 this->product_release = product_release; memset(_endpoint_info, 0, sizeof(_endpoint_info)); + memset(&_transfer, 0, sizeof(_transfer)); + _transfer.user_callback = None; _setup_ready = false; _abort_control = false; @@ -1163,6 +1165,8 @@ USBDevice::USBDevice(uint16_t vendor_id, uint16_t product_id, uint16_t product_r this->product_release = product_release; memset(_endpoint_info, 0, sizeof(_endpoint_info)); + memset(&_transfer, 0, sizeof(_transfer)); + _transfer.user_callback = None; _setup_ready = false; _abort_control = false;