diff options
author | Johan Hovold <[email protected]> | 2021-06-09 18:15:09 +0200 |
---|---|---|
committer | Johan Hovold <[email protected]> | 2021-06-10 16:59:00 +0200 |
commit | 63a8eef70ccb5199534dec56fed9759d214bfe55 (patch) | |
tree | b5364b205cb7e7b88f4e2da6867c91dfa446e49a /drivers/usb/cdns3/cdns3-imx.c | |
parent | 6f7ec77cc8b64ff5037c1945e4650c65c458037d (diff) |
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/[email protected]
Reported-by: David Frey <[email protected]>
Reported-by: Alex Villacís Lasso <[email protected]>
Tested-by: Alex Villacís Lasso <[email protected]>
Fixes: f61309d9c96a ("USB: serial: cp210x: set IXOFF thresholds")
Cc: [email protected] # 5.12
Signed-off-by: Johan Hovold <[email protected]>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-imx.c')
0 files changed, 0 insertions, 0 deletions