Skip to content
Commit 55fa15b5 authored by Johan Hovold's avatar Johan Hovold
Browse files

USB: serial: ch341: fix baud rate and line-control handling

Revert to using direct register writes to set the divisor and
line-control registers.

A recent change switched to using the init vendor command to update
these registers, something which also enabled support for CH341A
devices. It turns out that simply setting bit 7 in the divisor register
is sufficient to support CH341A and specifically prevent data from being
buffered until a full endpoint-size packet (32 bytes) has been received.

Using the init command also had the side-effect of temporarily
deasserting the DTR/RTS signals on every termios change (including
initialisation on open) something which for example could cause problems
in setups where DTR is used to trigger a reset.

Fixes: 4e46c410

 ("USB: serial: ch341: reinitialize chip on
reconfiguration")
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
parent 3cca8624
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment