Re: [PATCH] tty: Add driver unthrottle inioctl(...,TCFLSH,..).

From: andrew mcgregor
Date: Thu Nov 22 2012 - 14:34:08 EST




>>> On 11/22/2012 at 10:39 AM, in message <50AD4A01.7060500@xxxxxxx>, Ilya Zykov
<ilya@xxxxxxx> wrote:
> On 22.11.2012 1:30, Alan Cox wrote:
> >> Function reset_buffer_flags() also invoked during the
> >> ioctl(...,TCFLSH,..). At the time of request we can have full buffers
> >> and throttled driver too. If we don't unthrottle driver, we can get
> >> forever throttled driver, because after request, we will have
> >> empty buffers and throttled driver and there is no place to unthrottle
> driver.
> >> It simple reproduce with "pty" pair then one side sleep on tty->write_wait,
> >> and other side do ioctl(...,TCFLSH,..). Then there is no place to do
> writers wake up.
> >
> >
> > So instead of revertng it why not just fix it ? Just add an argument to
> > the reset_buffer_flags function to indicate if unthrottling is permitted.
> >
> > Alan
> >
> Because in my opinion, unthrottling permitted always, except release
> last filp (tty->count == 0)

Maybe so, but the patch was there in the first place to resolve an actual observed bug, where a driver would lock up. So the behaviour needs preserved.

Andrew

--
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/