Fix CDC blocking streams in Host mode locking up when the device is removed.
authorDean Camera <dean@fourwalledcubicle.com>
Mon, 4 Jan 2010 00:33:31 +0000 (00:33 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Mon, 4 Jan 2010 00:33:31 +0000 (00:33 +0000)
LUFA/Drivers/USB/Class/Host/CDC.c

index 030ad94..7f5bcb9 100644 (file)
@@ -445,6 +445,9 @@ static int CDC_Host_getchar_Blocking(FILE* Stream)
 {\r
        while (!(CDC_Host_BytesReceived((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream))))\r
        {\r
+               if (USB_HostState == HOST_STATE_Unattached)\r
+                 return _FDEV_EOF;\r
+\r
                CDC_Host_USBTask((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream));\r
                USB_USBTask();\r
        }\r