-
由 Johan Hovold 提交于
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.orgReported-by: NDavid Frey <dpfrey@gmail.com> Reported-by: NAlex Villacís Lasso <a_villacis@palosanto.com> Tested-by: NAlex 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: NJohan Hovold <johan@kernel.org>
63a8eef7