linux/drivers
Willy Tarreau 3c18e9baee USB: serial: ch341: fix character loss at high transfer rates
The chip supports high transfer rates, but with the small default buffers
(64 bytes read), some entire blocks are regularly lost. This typically
happens at 1.5 Mbps (which is the default speed on Rockchip devices) when
used as a console to access U-Boot where the output of the "help" command
misses many lines and where "printenv" mangles the environment.

The FTDI driver doesn't suffer at all from this. One difference is that
it uses 512 bytes rx buffers and 256 bytes tx buffers. Adopting these
values completely resolved the issue, even the output of "dmesg" is
reliable. I preferred to leave the Tx value unchanged as it is not
involved in this issue, while a change could increase the risk of
triggering the same issue with other devices having too small buffers.

I verified that it backports well (and works) at least to 5.4. It's of
low importance enough to be dropped where it doesn't trivially apply
anymore.

Cc: stable@vger.kernel.org
Signed-off-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20210724152739.18726-1-w@1wt.eu
Signed-off-by: Johan Hovold <johan@kernel.org>
2021-07-29 13:52:10 +02:00
..
accessibility
acpi Merge branch 'acpi-utils' 2021-07-23 17:06:15 +02:00
amba
android
ata ARM: SoC changes for 5.14 2021-07-10 09:22:44 -07:00
atm
auxdisplay
base driver core: Prevent warning when removing a device link from unregistered consumer 2021-07-21 17:28:42 +02:00
bcma
block rbd: resurrect setting of disk->private_data in rbd_init_disk() 2021-07-21 17:20:43 +02:00
bluetooth
bus bus: mhi: pci_generic: Fix inbound IPCR channel 2021-07-21 13:16:18 +02:00
cdrom
char powerpc/powernv: Fix fall-through warning for Clang 2021-07-13 19:21:41 -05:00
clk dt-bindings: clock: r9a07g044-cpg: Update clock/reset definitions 2021-07-12 10:52:03 +02:00
clocksource
comedi
connector
counter
cpufreq cpufreq: Fix fall-through warning for Clang 2021-07-13 11:53:07 -05:00
cpuidle
crypto ARM: SoC changes for 5.14 2021-07-10 09:22:44 -07:00
cxl
dax
dca
devfreq
dio
dma dmaengine: mpc512x: Fix fall-through warning for Clang 2021-07-14 11:05:55 -05:00
dma-buf Short summary of fixes pull: 2021-07-13 15:15:17 +02:00
edac EDAC/igen6: fix core dependency AGAIN 2021-07-15 11:59:59 -07:00
eisa
extcon
firewire
firmware A set of EFI fixes: 2021-07-25 10:04:27 -07:00
fpga
fsi
gnss
gpio
gpu Short summary of fixes pull: 2021-07-23 11:17:03 +10:00
greybus
hid
hsi
hv Drivers: hv: vmbus: Fix duplicate CPU assignments within a device 2021-07-19 09:26:31 +00:00
hwmon
hwspinlock
hwtracing
i2c i2c: mpc: Poll for MCF 2021-07-20 22:32:01 +02:00
i3c I3C for 5.14 2021-07-10 11:53:06 -07:00
idle
iio
infiniband
input This pull request contains the following changes for UML: 2021-07-09 10:19:13 -07:00
interconnect
iommu fallthrough fixes for Clang for 5.14-rc2 2021-07-15 13:57:31 -07:00
ipack
irqchip irqchip fixes for 5.14, take #1 2021-07-09 15:35:13 +02:00
isdn
leds
lightnvm
macintosh
mailbox
mcb
md
media ACPI fixes for 5.14-rc3 2021-07-23 11:08:06 -07:00
memory
memstick
message
mfd
misc Merge tag 'at24-fixes-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-current 2021-07-20 22:28:56 +02:00
mmc MMC core: 2021-07-22 09:51:38 -07:00
most
mtd mtd: cfi_util: Fix unreachable code issue 2021-07-12 11:15:28 -05:00
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-07-22 10:11:27 -07:00
nfc
ntb
nubus
nvdimm
nvme block-5.14-2021-07-24 2021-07-24 12:57:06 -07:00
nvmem
of
opp
parisc
parport
pci PCI: Fix fall-through warning for Clang 2021-07-13 13:59:12 -05:00
pcmcia
perf
phy
pinctrl
platform
pnp
power power: supply: Fix fall-through warnings for Clang 2021-07-13 14:50:47 -05:00
powercap
pps
ps3
ptp ptp: Relocate lookup cookie to correct block. 2021-07-08 12:33:10 -07:00
pwm pwm: ep93xx: Ensure configuring period and duty_cycle isn't wrongly skipped 2021-07-08 16:09:30 +02:00
rapidio
ras
regulator regulator: Fixes for v5.14 2021-07-21 12:37:49 -07:00
remoteproc remoteproc updates for v5.14 2021-07-07 10:50:03 -07:00
reset ARM: Drivers for 5.14 2021-07-10 09:46:20 -07:00
rpmsg
rtc RTC for 5.14 2021-07-10 16:19:10 -07:00
s390 SCSI fixes on 20210717 2021-07-17 13:09:23 -07:00
sbus
scsi SCSI fixes on 20210724 2021-07-24 13:08:31 -07:00
sh
siox
slimbus
soc ARM: Drivers for 5.14 2021-07-10 09:46:20 -07:00
soundwire
spi spi: Fixes for v5.14 2021-07-21 12:41:41 -07:00
spmi
ssb
staging
target scsi: target: Fix NULL dereference on XCOPY completion 2021-07-20 23:18:22 -04:00
tc
tee
thermal - Add rk3568 sensor support (Finley Xiao) 2021-07-10 11:43:25 -07:00
thunderbolt
tty This pull request contains the following changes for UML: 2021-07-09 10:19:13 -07:00
uio
usb USB: serial: ch341: fix character loss at high transfer rates 2021-07-29 13:52:10 +02:00
vdpa vp_vdpa: allow set vq state to initial state after reset 2021-07-08 07:49:02 -04:00
vfio
vhost vdpa: support packed virtqueue for set/get_vq_state() 2021-07-08 07:49:01 -04:00
video drm fixes for 5.14-rc2 2021-07-16 11:14:54 -07:00
virt
virtio virtio,vhost,vdpa: features, fixes 2021-07-09 11:06:29 -07:00
visorbus
vlynq
vme
w1
watchdog linux-watchdog 5.14-rc1 tag 2021-07-07 12:57:46 -07:00
xen xen: branch for v5.14-rc1 2021-07-07 11:07:13 -07:00
zorro
Kconfig
Makefile