From 7cd9e0dbc45afa4b047711d5dc255f4850e80c6b Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 15 Jul 2013 20:47:43 +0200 Subject: Fixed incorrect USB device state set when a suspended LUFA device is woken while addressed but not configured (thanks to Balaji Krishnan) --- LUFA/DoxygenPages/ChangeLog.txt | 1 + LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c | 2 +- LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c | 2 +- LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) (limited to 'LUFA') diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt index 8d394b0bc..6d5c7727a 100644 --- a/LUFA/DoxygenPages/ChangeLog.txt +++ b/LUFA/DoxygenPages/ChangeLog.txt @@ -38,6 +38,7 @@ * - Fixed possible register corruption in USB Host mode on AVR8 devices when ORDERED_EP_CONFIG is used (thanks to Martin Aakerberg) * - Fixed Pipe_GetBoundEndpointAddress() returning invalid endpoint directions on AVR8 architecture devices (thanks to decerri) * under some circumstances + * - Fixed incorrect USB device state set when a suspended LUFA device is woken while addressed but not configured (thanks to Balaji Krishnan) * - Library Applications: * - Added handler for SCSI_CMD_START_STOP_UNIT in demos using the Mass Storage class, to prevent ejection errors on *nix systems due to an * unknown SCSI command diff --git a/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c b/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c index b7f9f7a3d..dcf45693f 100644 --- a/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c +++ b/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c @@ -150,7 +150,7 @@ ISR(USB_GEN_vect, ISR_BLOCK) if (USB_Device_ConfigurationNumber) USB_DeviceState = DEVICE_STATE_Configured; else - USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered; + USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Addressed : DEVICE_STATE_Powered; #if defined(USB_SERIES_2_AVR) && !defined(NO_LIMITED_CONTROLLER_CONNECT) EVENT_USB_Device_Connect(); diff --git a/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c b/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c index 0d0e8602a..6690e826d 100644 --- a/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c +++ b/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c @@ -103,7 +103,7 @@ ISR(USB_GEN_vect) if (USB_Device_ConfigurationNumber) USB_DeviceState = DEVICE_STATE_Configured; else - USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered; + USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Addressed : DEVICE_STATE_Powered; EVENT_USB_Device_WakeUp(); } diff --git a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c index b85f301d5..209bf9491 100644 --- a/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c +++ b/LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c @@ -77,7 +77,7 @@ ISR(USB_BUSEVENT_vect) if (USB_Device_ConfigurationNumber) USB_DeviceState = DEVICE_STATE_Configured; else - USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Configured : DEVICE_STATE_Powered; + USB_DeviceState = (USB_Device_IsAddressSet()) ? DEVICE_STATE_Addressed : DEVICE_STATE_Powered; #if !defined(NO_LIMITED_CONTROLLER_CONNECT) EVENT_USB_Device_Connect(); -- cgit v1.2.3