X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_usb.c;h=e4af8e454625c87e1457b44475a33608d4155acb;hp=daca71a734e911995045318b6afe802ac60b3581;hb=e6bb80975fde20928a830170f0821d59a8c72690;hpb=0b483233118673cbc2cda1be6acd379df82bc95a diff --git a/src/ao_usb.c b/src/ao_usb.c index daca71a7..e4af8e45 100644 --- a/src/ao_usb.c +++ b/src/ao_usb.c @@ -377,11 +377,13 @@ char ao_usb_pollchar(void) __critical { char c; - while (ao_usb_out_bytes == 0) { + if (ao_usb_out_bytes == 0) { USBINDEX = AO_USB_OUT_EP; if ((USBCSOL & USBCSOL_OUTPKT_RDY) == 0) return AO_READ_AGAIN; ao_usb_out_bytes = (USBCNTH << 8) | USBCNTL; + if (ao_usb_out_bytes == 0) + return AO_READ_AGAIN; } --ao_usb_out_bytes; c = USBFIFO[AO_USB_OUT_EP << 1]; @@ -393,7 +395,7 @@ ao_usb_pollchar(void) __critical } char -ao_usb_getchar(void) +ao_usb_getchar(void) __critical { char c;