projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Be doubly-certain that the incomming CDC class driver's endpoint/pipe is flushed...
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
Class
/
Host
/
CDC.c
diff --git
a/LUFA/Drivers/USB/Class/Host/CDC.c
b/LUFA/Drivers/USB/Class/Host/CDC.c
index
8ad37de
..
85864b0
100644
(file)
--- a/
LUFA/Drivers/USB/Class/Host/CDC.c
+++ b/
LUFA/Drivers/USB/Class/Host/CDC.c
@@
-309,13
+309,22
@@
uint16_t CDC_Host_BytesReceived(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo
Pipe_SetPipeToken(PIPE_TOKEN_IN);
\r
Pipe_Unfreeze();
\r
\r
Pipe_SetPipeToken(PIPE_TOKEN_IN);
\r
Pipe_Unfreeze();
\r
\r
- if (Pipe_IsINReceived() && !(Pipe_BytesInPipe()))
\r
- Pipe_ClearIN();
\r
-
\r
- BytesInPipe = Pipe_BytesInPipe();
\r
- Pipe_Freeze();
\r
-
\r
- return BytesInPipe;
\r
+ if (Pipe_IsINReceived())
\r
+ {
\r
+ if (!(Pipe_BytesInPipe()))
\r
+ Pipe_ClearIN();
\r
+
\r
+ BytesInPipe = Pipe_BytesInPipe();
\r
+ Pipe_Freeze();
\r
+
\r
+ return BytesInPipe;
\r
+ }
\r
+ else
\r
+ {
\r
+ Pipe_Freeze();
\r
+
\r
+ return 0;
\r
+ }
\r
}
\r
\r
uint8_t CDC_Host_ReceiveByte(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
\r
}
\r
\r
uint8_t CDC_Host_ReceiveByte(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo)
\r