When reading USB packets with `USBHost::intransfer`, packet sizes of 512 bytes would read 0 bytes. In `UHD_Pipe_Read`, `nb_byte_received` is declared `uint8_t`, whereas it needs to be at least `uint16_t`. Recompiling the system library using this, everything works as expected. Not sure where to report this, but hopefully I'll be set straight if this is not the right place.