Re: [PATCH v6] usb-serial:cp210x: add support to software flow control
From: Johan Hovold
Date: Mon Nov 16 2020 - 11:38:03 EST
[ Please avoid top posting. ]
On Mon, Nov 16, 2020 at 07:56:10AM +0000, Wang, Sheng Long wrote:
> Hi, Johan
>
> Thank you very much for your reply!
>
> You mean if we call cp210x_open() When opening the device, because
> IXON is set by default, the cp210x_get_termios() does not process
> IXON, So it is invalid IXON at this time.
Right, with the current implementation you need to make sure that
termios reflects the device state on open or your changes will never
actually enable software flow control in the device.
> As you said, It is very strange in cp210x_get_termios() In the "get"
> function to "set" IXON. In addition, the best way is to disable the
> IXON bit as you said. If the user needs IXON, call set_ termios
> function, So I'm now in cp210x_get_termios() Is it a temporary
> solution for terminos to handle IXON ? I'm afraid it will need to be
> adjusted.
No, I didn't mean that IXON should be disabled by default. I meant that
the driver should make sure that the device settings matches termios on
open, not the other way round.
This unusual implementation has caused a number of issues in the past
and it's been on my list fix up for some time. I finally got around to
that today and I just CCed you on the result. That should simplify
adding software flow control and allow more code to be shared with the
hardware flow-control handling.
I've pushed a branch for you here:
https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git/log/?h=cp210x-termios
Johan