diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2012-02-09 20:27:03 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2012-02-09 20:27:03 +0000 |
commit | 385ffb6de3cc85462be82f14eeb580d6b66bc5e7 (patch) | |
tree | e2f0cb073c17d0dc51dd7ff9bb57c9fbafcaca48 /LUFA | |
parent | a2d18e46f8c30391cf3c06f1f93c50cb24d5e1ae (diff) | |
download | lufa-385ffb6de3cc85462be82f14eeb580d6b66bc5e7.tar.gz lufa-385ffb6de3cc85462be82f14eeb580d6b66bc5e7.tar.bz2 lufa-385ffb6de3cc85462be82f14eeb580d6b66bc5e7.zip |
Fix XMEGA architecture not correctly resetting the device address and endpoints in response to a USB bus reset from the host.
Diffstat (limited to 'LUFA')
-rw-r--r-- | LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c index 154e4d710..27ffb065a 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c +++ b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c @@ -90,6 +90,9 @@ ISR(USB_BUSEVENT_vect) USB_DeviceState = DEVICE_STATE_Default; USB_Device_ConfigurationNumber = 0; + USB_Device_SetDeviceAddress(0); + + Endpoint_ClearEndpoints(); Endpoint_ConfigureEndpoint(ENDPOINT_CONTROLEP, EP_TYPE_CONTROL, ENDPOINT_DIR_OUT, USB_Device_ControlEndpointSize, ENDPOINT_BANK_SINGLE); |