Ensure that the CDC class drivers return 0 if the number of unread bytes is queried...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / CDC.c
index cc1ff8a..bc8e089 100644 (file)
@@ -315,12 +315,16 @@ uint16_t CDC_Host_BytesReceived(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo
        if (Pipe_IsINReceived())\r
        {\r
                if (!(Pipe_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
+                       Pipe_ClearIN();\r
+                       Pipe_Freeze();\r
+                       return 0;\r
+               }\r
+               else\r
+               {\r
+                       Pipe_Freeze();\r
+                       return Pipe_BytesInPipe();\r
+               }\r
        }\r
        else\r
        {\r
        }\r
        else\r
        {\r