usb: cdc_acm: do not send ZLP for IN transactions When the length of the transfer is an exact multiple of IN endpoint MPS in the ring buffer, transfer one byte less to avoid zero-length packet. Otherwise the application running on the host may conclude that there is no more data to be received (i.e. the transaction has completed), hence not triggering another I/O Request Packet (IRP). Fixes #21713. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>