From 526e398986583e2fb65c0a36a2fbf2ce153446e5 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Thu, 7 May 2009 05:30:19 +0000
Subject: [PATCH] Fixed inability to enumerate any devices while in host mode
 (broken in a previous commit).

---
 LUFA/Drivers/USB/HighLevel/USBTask.c    | 7 +++----
 LUFA/Drivers/USB/LowLevel/DevChapter9.c | 2 +-
 LUFA/Drivers/USB/LowLevel/Host.h        | 4 ++--
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.c b/LUFA/Drivers/USB/HighLevel/USBTask.c
index 738dc1592..5202cc834 100644
--- a/LUFA/Drivers/USB/HighLevel/USBTask.c
+++ b/LUFA/Drivers/USB/HighLevel/USBTask.c
@@ -83,12 +83,11 @@ static void USB_HostTask(void)
 {
 	uint8_t ErrorCode    = HOST_ENUMERROR_NoError;
 	uint8_t SubErrorCode = HOST_ENUMERROR_NoError;
+	uint8_t PrevPipe     = Pipe_GetCurrentPipe();
 	
 	static uint16_t WaitMSRemaining;
 	static uint8_t  PostWaitState;
 
-	uint8_t PrevPipe = Pipe_GetCurrentPipe();
-
 	Pipe_SelectPipe(PIPE_CONTROLPIPE);
 
 	switch (USB_HostState)
@@ -176,10 +175,10 @@ static void USB_HostTask(void)
 					.bRequest      = REQ_GetDescriptor,
 					.wValue        = (DTYPE_Device << 8),
 					.wIndex        = 0,
-					.wLength       = PIPE_CONTROLPIPE_DEFAULT_SIZE,
+					.wLength       = 8,
 				};
 
-			uint8_t DataBuffer[PIPE_CONTROLPIPE_DEFAULT_SIZE];
+			uint8_t DataBuffer[8];
 
 			if ((SubErrorCode = USB_Host_SendControlRequest(DataBuffer)) != HOST_SENDCONTROL_Successful)
 			{
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
index f02d32ba3..f02bb56a0 100644
--- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c
+++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
@@ -165,7 +165,7 @@ static void USB_Device_SetConfiguration(void)
 
 void USB_Device_GetConfiguration(void)
 {
-	Endpoint_ClearSETUP();	
+	Endpoint_ClearSETUP();
 
 	Endpoint_Write_Byte(USB_ConfigurationNumber);
 	
diff --git a/LUFA/Drivers/USB/LowLevel/Host.h b/LUFA/Drivers/USB/LowLevel/Host.h
index b1d60afb5..9ce995f84 100644
--- a/LUFA/Drivers/USB/LowLevel/Host.h
+++ b/LUFA/Drivers/USB/LowLevel/Host.h
@@ -60,7 +60,7 @@
 			 *  and that the address used is not important (other than the fact that it is non-zero), a
 			 *  fixed value is specified by the library.
 			 */
-			#define USB_HOST_DEVICEADDRESS             1
+			#define USB_HOST_DEVICEADDRESS                 1
 
 			#if !defined(USB_HOST_TIMEOUT_MS) || defined(__DOXYGEN__)
 				/** Constant for the maximum software timeout period of sent USB control transactions to an attached
@@ -244,7 +244,7 @@
 			#define USB_Host_HostMode_On()          MACROS{ USBCON |=  (1 << HOST);           }MACROE
 			#define USB_Host_HostMode_Off()         MACROS{ USBCON &= ~(1 << HOST);           }MACROE
 
-			#define USB_Host_VBUS_Auto_Enable()     MACROS{ OTGCON &= ~(1 << VBUSHWC); UHWCON |=  (1 << UVCONE);                    }MACROE
+			#define USB_Host_VBUS_Auto_Enable()     MACROS{ OTGCON &= ~(1 << VBUSHWC); UHWCON |=  (1 << UVCONE);                   }MACROE
 			#define USB_Host_VBUS_Manual_Enable()   MACROS{ OTGCON |=  (1 << VBUSHWC); UHWCON &= ~(1 << UVCONE); DDRE |= (1 << 7); }MACROE
 
 			#define USB_Host_VBUS_Auto_On()         MACROS{ OTGCON |= (1 << VBUSREQ);         }MACROE
-- 
GitLab