• Johan Hovold's avatar
    USB: serial: ch341: fix baud rate and line-control handling · 55fa15b5
    Johan Hovold authored
    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>
    55fa15b5
ch341.c 16.2 KB