Message ID | 20210824121926.19311-1-johan@kernel.org |
---|---|
State | New |
Headers | show |
Series | Revert "USB: serial: ch341: fix character loss at high transfer rates" | expand |
On Tue, Aug 24, 2021 at 02:19:26PM +0200, Johan Hovold wrote: > This reverts commit 3c18e9baee0ef97510dcda78c82285f52626764b. > > These devices do not appear to send a zero-length packet when the > transfer size is a multiple of the bulk-endpoint max-packet size. This > means that incoming data may not be processed by the driver until a > short packet is received or the receive buffer is full. > > Revert back to using endpoint-sized receive buffers to avoid stalled > reads. Sorry for this, I didn't notice any issue here (aside for the chip working where it used not to). I have no idea what these zero-length packets correspond to, nor why they're affected by the transfer size. Do you have any idea what I should look for ? Because without that patch, the device is unusable for me :-/ Thanks! Willy
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c index 8a521b5ea769..2db917eab799 100644 --- a/drivers/usb/serial/ch341.c +++ b/drivers/usb/serial/ch341.c @@ -851,7 +851,6 @@ static struct usb_serial_driver ch341_device = { .owner = THIS_MODULE, .name = "ch341-uart", }, - .bulk_in_size = 512, .id_table = id_table, .num_ports = 1, .open = ch341_open,
This reverts commit 3c18e9baee0ef97510dcda78c82285f52626764b. These devices do not appear to send a zero-length packet when the transfer size is a multiple of the bulk-endpoint max-packet size. This means that incoming data may not be processed by the driver until a short packet is received or the receive buffer is full. Revert back to using endpoint-sized receive buffers to avoid stalled reads. Reported-by: Paul Größel <pb.g@gmx.de> Link: https://bugzilla.kernel.org/show_bug.cgi?id=214131 Fixes: 3c18e9baee0e ("USB: serial: ch341: fix character loss at high transfer rates") Cc: stable@vger.kernel.org Cc: Willy Tarreau <w@1wt.eu> Signed-off-by: Johan Hovold <johan@kernel.org> --- drivers/usb/serial/ch341.c | 1 - 1 file changed, 1 deletion(-)