From 3f48497874e573e83153a989000fe5f6a26de856 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 10 May 2009 05:23:35 +0000
Subject: [PATCH] Fix broken Set Feature/Clear Feature chapter 9 request
 (incorrect status stage clearing).

Commit for the 090510 release.
---
 Demos/Device/CDC/Descriptors.c          | 2 +-
 LUFA/Drivers/USB/LowLevel/DevChapter9.c | 7 +------
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/Demos/Device/CDC/Descriptors.c b/Demos/Device/CDC/Descriptors.c
index 70c885fe5..c147546f1 100644
--- a/Demos/Device/CDC/Descriptors.c
+++ b/Demos/Device/CDC/Descriptors.c
@@ -51,7 +51,7 @@ USB_Descriptor_Device_t PROGMEM DeviceDescriptor =
 	.SubClass               = 0x00,
 	.Protocol               = 0x00,
 				
-	.Endpoint0Size          = 8,//FIXED_CONTROL_ENDPOINT_SIZE,
+	.Endpoint0Size          = FIXED_CONTROL_ENDPOINT_SIZE,
 		
 	.VendorID               = 0x03EB,
 	.ProductID              = 0x2044,
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
index f02bb56a0..6ecadb00d 100644
--- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c
+++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
@@ -118,8 +118,6 @@ static void USB_Device_SetAddress(void)
 {
 	Endpoint_ClearSETUP();
 	
-	while (!(Endpoint_IsINReady()));
-	
 	Endpoint_ClearIN();
 	
 	while (!(Endpoint_IsINReady()));
@@ -299,7 +297,7 @@ static void USB_Device_ClearSetFeature(void)
 					}
 					else
 					{
-						Endpoint_StallTransaction();						
+						Endpoint_StallTransaction();
 					}
 				}
 			}
@@ -313,9 +311,6 @@ static void USB_Device_ClearSetFeature(void)
 	Endpoint_ClearSETUP();
 
 	Endpoint_ClearIN();
-
-	while (!(Endpoint_IsOUTReceived()));
-	Endpoint_ClearOUT();
 }
 
 #endif
-- 
GitLab