Skip to content
Commit 63a8eef7 authored by Johan Hovold's avatar Johan Hovold
Browse files

USB: serial: cp210x: fix CP2102N-A01 modem control

CP2102N revision A01 (firmware version <= 1.0.4) has a buggy
flow-control implementation that uses the ulXonLimit instead of
ulFlowReplace field of the flow-control settings structure (erratum
CP2102N_E104).

A recent change that set the input software flow-control limits
incidentally broke RTS control for these devices when CRTSCTS is not set
as the new limits would always enable hardware flow control.

Fix this by explicitly disabling flow control for the buggy firmware
versions and only updating the input software flow-control limits when
IXOFF is requested. This makes sure that the terminal settings matches
the default zero ulXonLimit (ulFlowReplace) for these devices.

Link: https://lore.kernel.org/r/20210609161509.9459-1-johan@kernel.org


Reported-by: default avatarDavid Frey <dpfrey@gmail.com>
Reported-by: default avatarAlex Villacís Lasso <a_villacis@palosanto.com>
Tested-by: default avatarAlex Villacís Lasso <a_villacis@palosanto.com>
Fixes: f61309d9 ("USB: serial: cp210x: set IXOFF thresholds")
Cc: stable@vger.kernel.org      # 5.12
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
parent 6f7ec77c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment