From 5faa79a7b55312f275435c5dacf8a89a6a3d26ae Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Tue, 21 Sep 2010 10:48:38 +0000
Subject: [PATCH] Fixed USB_Host_ClearPipeStall() incorrectly attempting to
 determine the endpoint's direction from the currently selected pipe.

---
 LUFA/Drivers/USB/LowLevel/Host.c | 3 ---
 LUFA/Drivers/USB/LowLevel/Host.h | 2 +-
 LUFA/ManPages/ChangeLog.txt      | 1 +
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/LUFA/Drivers/USB/LowLevel/Host.c b/LUFA/Drivers/USB/LowLevel/Host.c
index 6c66083a8..1d7faa197 100644
--- a/LUFA/Drivers/USB/LowLevel/Host.c
+++ b/LUFA/Drivers/USB/LowLevel/Host.c
@@ -338,9 +338,6 @@ uint8_t USB_Host_GetDeviceStringDescriptor(const uint8_t Index,
 
 uint8_t USB_Host_ClearPipeStall(uint8_t EndpointNum)
 {
-	if (Pipe_GetPipeToken() == PIPE_TOKEN_IN)
-	  EndpointNum |= ENDPOINT_DESCRIPTOR_DIR_IN;
-
 	USB_ControlRequest = (USB_Request_Header_t)
 		{
 			.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),
diff --git a/LUFA/Drivers/USB/LowLevel/Host.h b/LUFA/Drivers/USB/LowLevel/Host.h
index 40f630e84..3bfc44199 100644
--- a/LUFA/Drivers/USB/LowLevel/Host.h
+++ b/LUFA/Drivers/USB/LowLevel/Host.h
@@ -425,7 +425,7 @@
 			 *
 			 *  \note After this routine returns, the control pipe will be selected.
 			 *
-			 *  \param[in] EndpointIndex  Index of the endpoint to clear.
+			 *  \param[in] EndpointIndex  Index of the endpoint to clear, including the endpoint's direction.
 			 *
 			 *  \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
 			 */
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 7fc73e9f2..bf31f76de 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -56,6 +56,7 @@
   *  - Added LEDs_ToggleLEDs() function to several board LED drivers which were missing it (thanks to Andrei Krainev)
   *  - Fixed SET FEATURE and CLEAR FEATURE control requests directed at an unconfigured endpoint causing request timeouts
   *  - Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2
+  *  - Fixed USB_Host_ClearPipeStall() incorrectly determining the endpoint direction from the currently selected pipe
   *
   *  \section Sec_ChangeLog100807 Version 100807
   *  <b>New:</b>
-- 
GitLab