Re: [PATCH 0/2] fixes for empty tx buffer breakage

From: Greg Kroah-Hartman
Date: Thu Jul 10 2014 - 19:10:15 EST


On Sun, Jul 06, 2014 at 11:29:51AM -0400, Peter Hurley wrote:
> Cc: Seth Bollinger <sethb@xxxxxxxx>
> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx>
> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
>
> Greg,
>
> I completed the audit of serial drivers after reports that
> several Sun serial drivers were broken by
> commit 717f3bbab3c7628736ef738fdbf3d9a28578c26c,
> 'serial_core: Fix conditional start_tx on ring buffer not empty'.
>
> I apologize for not submitting this sooner. The delay was due to
> an ongoing analysis of serial flow control prompted by Sam Ravnborg's
> question:
>
> On 06/10/2014 03:24 PM, Sam Ravnborg wrote:
> > I also noticed the typical pattern is:
> >
> > if (uart_circ_empty(xmit) || uart_tx_stopped(port))
> >
> > Should you use this pattern also in sunsab.c?
>
> Unfortunately, that analysis revealed that tx flow control is
> largely SMP-unsafe, and it's fairly easy to corrupt the hardware
> state wrt. the tty flow control state.
>
> I'm still working on the solutions to that; they're too
> extensive to submit for 3.16 anyway.

So these should go into 3.16-final? Or 3.17?

confused,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/