aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c3
-rw-r--r--LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c2
-rw-r--r--LUFA/Drivers/USB/Core/UC3/USBController_UC3.c8
-rw-r--r--LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c2
-rw-r--r--LUFA/ManPages/ChangeLog.txt3
5 files changed, 7 insertions, 11 deletions
diff --git a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c
index 8b4171138..27eabc3d4 100644
--- a/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c
+++ b/LUFA/Drivers/USB/Core/AVR8/USBController_AVR8.c
@@ -75,12 +75,13 @@ void USB_Init(
#if defined(USB_CAN_BE_BOTH)
if (Mode == USB_MODE_UID)
{
- UHWCON |= (1 << UIDE);
+ UHWCON |= (1 << UIDE);
USB_INT_Enable(USB_INT_IDTI);
USB_CurrentMode = USB_GetUSBModeFromUID();
}
else
{
+ UHWCON &= ~(1 << UIDE);
USB_CurrentMode = Mode;
}
#endif
diff --git a/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c b/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c
index 856ccd626..89d60ebe0 100644
--- a/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c
+++ b/LUFA/Drivers/USB/Core/AVR8/USBInterrupt_AVR8.c
@@ -112,8 +112,6 @@ ISR(USB_GEN_vect, ISR_BLOCK)
if (USB_INT_HasOccurred(USB_INT_SUSPI) && USB_INT_IsEnabled(USB_INT_SUSPI))
{
- USB_INT_Clear(USB_INT_SUSPI);
-
USB_INT_Disable(USB_INT_SUSPI);
USB_INT_Enable(USB_INT_WAKEUPI);
diff --git a/LUFA/Drivers/USB/Core/UC3/USBController_UC3.c b/LUFA/Drivers/USB/Core/UC3/USBController_UC3.c
index 40ac381f6..a9ac2481c 100644
--- a/LUFA/Drivers/USB/Core/UC3/USBController_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/USBController_UC3.c
@@ -117,10 +117,7 @@ void USB_ResetInterface(void)
#if defined(USB_CAN_BE_BOTH)
if (UIDModeSelectEnabled)
- {
- AVR32_USBB.USBCON.uide = true;
- USB_INT_Enable(USB_INT_IDTI);
- }
+ USB_INT_Enable(USB_INT_IDTI);
#endif
USB_CLK_Unfreeze();
@@ -129,6 +126,7 @@ void USB_ResetInterface(void)
{
#if defined(USB_CAN_BE_DEVICE)
AVR32_USBB.USBCON.uimod = true;
+
USB_Init_Device();
#endif
}
@@ -136,6 +134,7 @@ void USB_ResetInterface(void)
{
#if defined(USB_CAN_BE_HOST)
AVR32_USBB.USBCON.uimod = false;
+
USB_Init_Host();
#endif
}
@@ -180,7 +179,6 @@ static void USB_Init_Device(void)
USB_INT_Enable(USB_INT_EORSTI);
USB_Attach();
- USB_Device_SetDeviceAddress(0);
}
#endif
diff --git a/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c b/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c
index aee8940e3..76f4ef022 100644
--- a/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/USBInterrupt_UC3.c
@@ -79,8 +79,6 @@ ISR(USB_GEN_vect)
if (USB_INT_HasOccurred(USB_INT_SUSPI) && USB_INT_IsEnabled(USB_INT_SUSPI))
{
- USB_INT_Clear(USB_INT_SUSPI);
-
USB_INT_Disable(USB_INT_SUSPI);
USB_INT_Enable(USB_INT_WAKEUPI);
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index ea3efcdb2..cf20c704b 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -70,7 +70,7 @@
* - Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0
* for other uses
* - Updated the software USART code in the XPLAIN Bridge application so that the incomming bits are sampled at their mid-point
- * instead of starting point, to give maximum reliability (thanks to Anton)
+ * instead of starting point, to give maximum reliability (thanks to Anton Staaf)
*
* <b>Fixed:</b>
* - Core:
@@ -88,6 +88,7 @@
* - Fixed Still Image Host class driver exiting the descriptor search routine prematurely if the data pipes (but not event pipe)
* is found
* - Fixed missing call to Pipe_SetInfiniteINRequests() in the Pipe_ConfigurePipe() routine
+ * - Fixed Remote Wakeup broken on the AVRs due to the mechanism only operating when the SUSPI bit is set (thanks to Holger Steinhaus)
* - Library Applications:
* - Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy
* - Fixed broken DFU bootloader, added XPLAIN support for bootloader start when XCK jumpered to ground