USB: serial: ch341: fix lost character on LCR updates
authorJohan Hovold <johan@kernel.org>
Wed, 31 Aug 2022 08:15:24 +0000 (10:15 +0200)
committerJohan Hovold <johan@kernel.org>
Wed, 31 Aug 2022 13:50:53 +0000 (15:50 +0200)
commit8e83622ae7ca481c76c8fd9579877f6abae64ca2
tree546dcc78b04a692d31b026583331a1407895d056
parentceb4038472a4803e7046ed488b03d11551991514
USB: serial: ch341: fix lost character on LCR updates

Disable LCR updates for pre-0x30 devices which use a different (unknown)
protocol for line control and where the current register write causes
the next received character to be lost.

Note that updating LCR using the INIT command has no effect on these
devices either.

Reported-by: Jonathan Woithe <jwoithe@just42.net>
Tested-by: Jonathan Woithe <jwoithe@just42.net>
Link: https://lore.kernel.org/r/Ys1iPTfiZRWj2gXs@marvin.atrad.com.au
Fixes: 4e46c410e050 ("USB: serial: ch341: reinitialize chip on reconfiguration")
Fixes: 55fa15b5987d ("USB: serial: ch341: fix baud rate and line-control handling")
Cc: stable@vger.kernel.org # 4.10
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/ch341.c