[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090813195554.GA22751@cuplxvomd02.corp.sa.net>
Date: Thu, 13 Aug 2009 12:55:54 -0700
From: David VomLehn <dvomlehn@...co.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: linux-kernel@...r.kernel.org, greg@...ah.com,
linux-usb@...r.kernel.org
Subject: Re: [PATCH] Combine two one-character CR-LF writes into one
two-character write for O_ONLCR
On Thu, Aug 13, 2009 at 08:50:18PM +0100, Alan Cox wrote:
> > do_output_char() function uses the struct tty_operations function write_room()
> > to determine whether it is possible to write two characters. It uses
> > tty_put_char() for each character which, for the USB generic serial driver,
> > translates into a write() for each character. For the USB generic serial
> > driver the value returned by write_room() only applies to the next write().
>
> The USB serial driver is broken, fix it instead. It's not even hard to
> fix.
>
> > + tty->ops->write(tty, crlf, ARRAY_SIZE(crlf));
> > + return ARRAY_SIZE(crlf);
>
> Emphatic NAK. Someone needs to actually fix the broken USB drivers for
> once. This is just one example of where the device will go kersplat if its
> broken, others include things like losing flow control.
Works for me; please consider the patch withdrawn. I'll take a crack at fixing
the generic serial driver the right way; if other drivers are doing mix-and-match
with per-device code and generic code, they could get broken. I have no way to
test for this, so I'm hoping others will help out.
David VL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists