aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Core/XMEGA
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-05-26 15:06:00 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-05-26 15:06:00 +0000
commitf235021abe547f3366459480ba17f548f3119ee2 (patch)
tree2e27186a53c9d69d42d02b87ef22618be32e143e /LUFA/Drivers/USB/Core/XMEGA
parent55283475d3e1c8191b3569524d35066566ceb0e7 (diff)
downloadlufa-f235021abe547f3366459480ba17f548f3119ee2.tar.gz
lufa-f235021abe547f3366459480ba17f548f3119ee2.tar.bz2
lufa-f235021abe547f3366459480ba17f548f3119ee2.zip
Fix incorrect definition for the XMEGA Endpoint_BytesInEndpoint() function when used on OUT endpoints.
Diffstat (limited to 'LUFA/Drivers/USB/Core/XMEGA')
-rw-r--r--LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
index 720b5f3b4..23de8fc09 100644
--- a/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
+++ b/LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
@@ -274,7 +274,10 @@
static inline uint16_t Endpoint_BytesInEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
static inline uint16_t Endpoint_BytesInEndpoint(void)
{
- return USB_Endpoint_SelectedFIFO->Position;
+ if (USB_Endpoint_SelectedEndpoint & ENDPOINT_DIR_IN)
+ return USB_Endpoint_SelectedFIFO->Position;
+ else
+ return (USB_Endpoint_SelectedFIFO->Length - USB_Endpoint_SelectedFIFO->Position);
}
/** Get the endpoint address of the currently selected endpoint. This is typically used to save