diff --git a/chip/g/usb.c b/chip/g/usb.c index 5f5e595e4b..532128dc24 100644 --- a/chip/g/usb.c +++ b/chip/g/usb.c @@ -388,7 +388,7 @@ static void got_RX_packet(void) int load_in_fifo(const void *source, uint32_t len) { uint8_t *buffer = ep0_in_buf; - int zero_packet = !len; + int zero_packet = (len % USB_MAX_PACKET_SIZE) == 0; int d, l; /* Copy the data into our FIFO buffer */