Fixed incorrect USB device state set when a suspended LUFA device is woken while...
authorDean Camera <dean@fourwalledcubicle.com>
Mon, 15 Jul 2013 18:47:43 +0000 (20:47 +0200)
committerDean Camera <dean@fourwalledcubicle.com>
Mon, 15 Jul 2013 18:47:43 +0000 (20:47 +0200)
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c
LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c
LUFA/Drivers/USB/Core/XMEGA/USBInterrupt_XMEGA.c

index 8d394b0..6d5c772 100644 (file)
@@ -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
index b7f9f7a..dcf4569 100644 (file)
@@ -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();
index 0d0e860..6690e82 100644 (file)
@@ -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();
        }
index b85f301..209bf94 100644 (file)
@@ -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();