From 84a739ae72cb9e82563c156d5c60b8254a381608 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Tue, 13 Dec 2011 03:40:51 +0000
Subject: [PATCH] Minor XMEGA USB driver fixes.

---
 LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c |  2 +-
 LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h | 13 +------------
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c
index 23c1520c1..c301cc385 100644
--- a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c
+++ b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.c
@@ -56,7 +56,7 @@ bool Endpoint_ConfigureEndpoint_PRV(const uint8_t Number,
 	USB_Endpoint_SelectedHandle->STATUS  = (Direction == ENDPOINT_DIR_IN) ? USB_EP_BUSNACK0_bm : 0;
 	USB_Endpoint_SelectedHandle->CTRL    = Config;
 	USB_Endpoint_SelectedHandle->CNT     = 0;
-	USB_Endpoint_SelectedHandle->DATAPTR = (intptr_t)&USB_Endpoint_SelectedFIFO->Data[0];
+	USB_Endpoint_SelectedHandle->DATAPTR = (intptr_t)USB_Endpoint_SelectedFIFO->Data;
 	
 	USB_Endpoint_SelectedFIFO->Length    = (Direction == ENDPOINT_DIR_IN) ? Size : 0;
 	USB_Endpoint_SelectedFIFO->Position  = 0;
diff --git a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
index f587feca9..2d4d7be93 100644
--- a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
+++ b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
@@ -546,9 +546,8 @@
 				
 				if ((USB_Endpoint_SelectedHandle->CTRL & USB_EP_TYPE_gm) == USB_EP_TYPE_CONTROL_gc)
 				{
-					Endpoint_SelectEndpoint(USB_Endpoint_SelectedEndpoint |  ENDPOINT_DIR_IN);
+					Endpoint_SelectEndpoint(USB_Endpoint_SelectedEndpoint ^ ENDPOINT_DIR_IN);
 					USB_Endpoint_SelectedHandle->CTRL |= USB_EP_STALL_bm;
-					Endpoint_SelectEndpoint(USB_Endpoint_SelectedEndpoint & ~ENDPOINT_DIR_IN);
 				}
 			}
 
@@ -591,16 +590,6 @@
 				return (USB_Endpoint_SelectedEndpoint & ENDPOINT_DIR_IN);
 			}
 
-			/** Sets the direction of the currently selected endpoint.
-			 *
-			 *  \param[in] DirectionMask  New endpoint direction, as a \c ENDPOINT_DIR_* mask.
-			 */
-			static inline void Endpoint_SetEndpointDirection(const uint8_t DirectionMask) ATTR_ALWAYS_INLINE;
-			static inline void Endpoint_SetEndpointDirection(const uint8_t DirectionMask)
-			{
-				// TODO
-			}
-
 			/** Reads one byte from the currently selected endpoint's bank, for OUT direction endpoints.
 			 *
 			 *  \ingroup Group_EndpointPrimitiveRW_XMEGA
-- 
GitLab