aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-06-12 07:01:18 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-06-12 07:01:18 +0000
commit75d440ace31c326dc80c84c3d346a425f43f1dd6 (patch)
tree29fe64063e3e8eb1c6db1231ef284b4c76b832c6 /LUFA
parent5fa0e9c00733a13df54dab638fc7bd79231d968e (diff)
downloadlufa-75d440ace31c326dc80c84c3d346a425f43f1dd6.tar.gz
lufa-75d440ace31c326dc80c84c3d346a425f43f1dd6.tar.bz2
lufa-75d440ace31c326dc80c84c3d346a425f43f1dd6.zip
Speed up calls to Pipe_IsPipeBound() by immediately skipping unconfigured pipes, rather than performing token check first.
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Drivers/USB/LowLevel/Endpoint.c2
-rw-r--r--LUFA/Drivers/USB/LowLevel/Pipe.c11
2 files changed, 8 insertions, 5 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.c b/LUFA/Drivers/USB/LowLevel/Endpoint.c
index 15cb9d011..22579af6d 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.c
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.c
@@ -139,7 +139,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
#if !defined(NO_STREAM_CALLBACKS)
, StreamCallbackPtr_t Callback
#endif
- )
+ )
{
uint8_t ErrorCode;
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.c b/LUFA/Drivers/USB/LowLevel/Pipe.c
index 4bfcc21e2..8e817a279 100644
--- a/LUFA/Drivers/USB/LowLevel/Pipe.c
+++ b/LUFA/Drivers/USB/LowLevel/Pipe.c
@@ -79,13 +79,16 @@ bool Pipe_IsEndpointBound(const uint8_t EndpointAddress)
{
Pipe_SelectPipe(PNum);
- uint8_t PipeToken = Pipe_GetPipeToken();
+ if (!(Pipe_IsConfigured()))
+ continue;
+
+ uint8_t PipeToken = Pipe_GetPipeToken();
bool PipeTokenCorrect = true;
if (PipeToken != PIPE_TOKEN_SETUP)
PipeTokenCorrect = (PipeToken == ((EndpointAddress & PIPE_EPDIR_MASK) ? PIPE_TOKEN_IN : PIPE_TOKEN_OUT));
- if (Pipe_IsConfigured() && PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
+ if (PipeTokenCorrect && (Pipe_BoundEndpointNumber() == (EndpointAddress & PIPE_EPNUM_MASK)))
return true;
}
@@ -131,9 +134,9 @@ uint8_t Pipe_WaitUntilReady(void)
uint8_t Pipe_Discard_Stream(uint16_t Length
#if !defined(NO_STREAM_CALLBACKS)
- , StreamCallbackPtr_t Callback
+ , StreamCallbackPtr_t Callback
#endif
- )
+ )
{
uint8_t ErrorCode;