From 9f99c7fa03b57b604e622e3e839085006d689f26 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 29 Jan 2012 14:37:30 +0000
Subject: [PATCH] Fixed DFU class bootloader not resetting the LED pins as high
 impedance inputs when a software jump to the user applications is requested.

---
 Bootloaders/CDC/BootloaderCDC.c | 2 +-
 Bootloaders/DFU/BootloaderDFU.c | 5 +++--
 LUFA/DoxygenPages/ChangeLog.txt | 1 +
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c
index c8ade7dcb..f4a2d6ce6 100644
--- a/Bootloaders/CDC/BootloaderCDC.c
+++ b/Bootloaders/CDC/BootloaderCDC.c
@@ -101,7 +101,7 @@ static void SetupHardware(void)
 	MCUCR = (1 << IVCE);
 	MCUCR = (1 << IVSEL);
 
-	/* Initialize USB Subsystem */
+	/* Initialize the USB and other board hardware drivers */
 	USB_Init();
 	LEDs_Init();
 
diff --git a/Bootloaders/DFU/BootloaderDFU.c b/Bootloaders/DFU/BootloaderDFU.c
index ba045856a..f3b36db61 100644
--- a/Bootloaders/DFU/BootloaderDFU.c
+++ b/Bootloaders/DFU/BootloaderDFU.c
@@ -150,7 +150,7 @@ static void SetupHardware(void)
 	MCUCR = (1 << IVCE);
 	MCUCR = (1 << IVSEL);
 
-	/* Initialize the USB subsystem */
+	/* Initialize the USB and other board hardware drivers */
 	USB_Init();
 	LEDs_Init();
 
@@ -162,8 +162,9 @@ static void SetupHardware(void)
 /** Resets all configured hardware required for the bootloader back to their original states. */
 static void ResetHardware(void)
 {
-	/* Shut down the USB subsystem */
+	/* Shut down the USB and other board hardware drivers */
 	USB_Disable();
+	LEDs_Disable();
 
 	/* Relocate the interrupt vector table back to the application section */
 	MCUCR = (1 << IVCE);
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 79a9aad4d..752fa4d07 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -48,6 +48,7 @@
   *   - Added reliability patches to the AVRISP-MKII Clone project's PDI/TPI protocols (thanks to Justin Mattair)
   *   - Fixed AVRISP-MKII Clone compile warning on AVR8 U4 targets even when NO_VTARGET_DETECT is enabled
   *   - Fixed AVRISP-MKII Clone failing to start application firmware once a TPI programming session is exited
+  *   - Fixed DFU class bootloader not resetting the LED pins as high impedance inputs when a software jump to the user applications is requested
   *
   *  \section Sec_ChangeLog111009 Version 111009
   *  <b>New:</b>
-- 
GitLab