diff --git a/LUFA/Drivers/USB/Class/Host/CDC.c b/LUFA/Drivers/USB/Class/Host/CDC.c index 030ad946482..7f5bcb94045 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(); }