Message ID | 5411B33F.10405@hurleysoftware.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/11/2014 04:35 PM, Peter Hurley wrote: > I do need to find out if omap hardware sets UART_MSR_DCTS when auto CTS > is on. Would you mind running the debug patch below with HW flow control on? I didn't forget about this. However I told minicom to use hardware flow control (and I see the driver set the HW bit) but I haven't seen that uart_handle_cts_change() has been invoked at all. I'm going to check two other boards and report then. > Regards, > Peter Hurley Sebastian
On 09/15/2014 07:01 PM, Sebastian Andrzej Siewior wrote: > On 09/11/2014 04:35 PM, Peter Hurley wrote: >> I do need to find out if omap hardware sets UART_MSR_DCTS when auto CTS >> is on. Would you mind running the debug patch below with HW flow control on? > > I didn't forget about this. However I told minicom to use hardware flow > control (and I see the driver set the HW bit) but I haven't seen that > uart_handle_cts_change() has been invoked at all. I'm going to check > two other boards and report then. No, I don't get into this at all function. So I connected my am335x-evm with beagle board xm because both of them have an old fashion UART connector (instead those uart-to-usb). Both configured with HW-Flow and I haven't seen the function invoked but I saw "port->icount.overrun" being incremented. This shouldn't happen. So I am a little puzzled here… >> Regards, >> Peter Hurley > Sebastian
On 09/16/2014 12:55 PM, Sebastian Andrzej Siewior wrote: > On 09/15/2014 07:01 PM, Sebastian Andrzej Siewior wrote: >> On 09/11/2014 04:35 PM, Peter Hurley wrote: >>> I do need to find out if omap hardware sets UART_MSR_DCTS when auto CTS >>> is on. Would you mind running the debug patch below with HW flow control on? >> >> I didn't forget about this. However I told minicom to use hardware flow >> control (and I see the driver set the HW bit) but I haven't seen that >> uart_handle_cts_change() has been invoked at all. I'm going to check >> two other boards and report then. > > No, I don't get into this at all function. Ok, good to know. Thanks for testing that. > So I connected my am335x-evm > with beagle board xm because both of them have an old fashion UART > connector (instead those uart-to-usb). Both configured with HW-Flow and > I haven't seen the function invoked but I saw "port->icount.overrun" > being incremented. This shouldn't happen. So I am a little puzzled here… Yeah, that's weird. Do you have a break-out box to confirm that RTS/CTS are being driven? Regards, Peter Hurley
On 09/17/2014 02:20 PM, Peter Hurley wrote: >> So I connected my am335x-evm >> with beagle board xm because both of them have an old fashion UART >> connector (instead those uart-to-usb). Both configured with HW-Flow and >> I haven't seen the function invoked but I saw "port->icount.overrun" >> being incremented. This shouldn't happen. So I am a little puzzled here… > > Yeah, that's weird. Do you have a break-out box to confirm that RTS/CTS are > being driven? Yeah, I've been thinking about that, too. I will be gone next week and hopefully when I get back I will something around to test this. > > Regards, > Peter Hurley > Sebastian
* Peter Hurley | 2014-09-17 08:20:41 [-0400]: >> So I connected my am335x-evm >> with beagle board xm because both of them have an old fashion UART >> connector (instead those uart-to-usb). Both configured with HW-Flow and >> I haven't seen the function invoked but I saw "port->icount.overrun" >> being incremented. This shouldn't happen. So I am a little puzzled here… > >Yeah, that's weird. Do you have a break-out box to confirm that RTS/CTS are >being driven? => - beagle board According to schematics the board has only RX and TX connected. No RTS/CTS - am335x-evm The schematics say "DNI" next to a resistor on RTS/CTS. DNI stands most likely for "Do Not Install". With a scope it looks like the the wire behind the MAX is open. - beagle bone black Only RX and TX are wired towards the USB2serial device. In short: each device I have has RTS/CTS not working/connected and I can't test HW handshake with HW available. >Regards, >Peter Hurley Sebastian
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index 5a78f69..1579a20 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -2783,6 +2783,9 @@ void uart_handle_cts_change(struct uart_port *uport, unsigned int status) uport->icount.cts++; if (tty_port_cts_enabled(port)) { + + WARN_ON_ONCE(uport->flags & UPF_HARD_FLOW); + if (tty->hw_stopped) { if (status) { tty->hw_stopped = 0;