diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-06-12 07:01:18 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-06-12 07:01:18 +0000 |
commit | 75d440ace31c326dc80c84c3d346a425f43f1dd6 (patch) | |
tree | 29fe64063e3e8eb1c6db1231ef284b4c76b832c6 /LUFA/Drivers/USB | |
parent | 5fa0e9c00733a13df54dab638fc7bd79231d968e (diff) | |
download | lufa-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/Drivers/USB')
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Endpoint.c | 2 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Pipe.c | 11 |
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; |