From 385ffb6de3cc85462be82f14eeb580d6b66bc5e7 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 9 Feb 2012 20:27:03 +0000 Subject: [PATCH] Fix XMEGA architecture not correctly resetting the device address and endpoints in response to a USB bus reset from the host. --- LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c index 154e4d7105..27ffb065a9 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);