diff --git a/firmware/usbstack/usb_serial.c b/firmware/usbstack/usb_serial.c index 6c654ad898..99b8bb2c3f 100644 --- a/firmware/usbstack/usb_serial.c +++ b/firmware/usbstack/usb_serial.c @@ -158,6 +158,9 @@ void usb_serial_disconnect(void) static void sendout(void) { buffer_transitlength = MIN(buffer_length,BUFFER_SIZE-buffer_start); + /* For unknown reasons packets larger than 96 bytes are not sent. We play + * safe and limit to 32. TODO: find the real bug */ + buffer_transitlength = MIN(buffer_transitlength,32); if(buffer_transitlength > 0) { buffer_length -= buffer_transitlength;