diff --git a/LUFA/Drivers/USB/Class/Host/CDC.c b/LUFA/Drivers/USB/Class/Host/CDC.c index 030ad946482e2d5a10aa9a63cf896535e3b8a87e..7f5bcb940452a70e6eee8e3b2572fc46ce5eaf14 100644 --- a/LUFA/Drivers/USB/Class/Host/CDC.c +++ b/LUFA/Drivers/USB/Class/Host/CDC.c @@ -445,6 +445,9 @@ static int CDC_Host_getchar_Blocking(FILE* Stream) { while (!(CDC_Host_BytesReceived((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream)))) { + if (USB_HostState == HOST_STATE_Unattached) + return _FDEV_EOF; + CDC_Host_USBTask((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream)); USB_USBTask(); }