From: Jason Wessel <jason.wessel@windriver.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg Kroah-Hartman <gregkh@suse.de>,
Alan Cox <alan@linux.intel.com>,
Oliver Neukum <oliver@neukum.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] usb-serial: Fix usb serial console open/close regression
Date: Mon, 08 Mar 2010 09:43:10 -0600 [thread overview]
Message-ID: <4B951B0E.3000801@windriver.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1003081028400.1596-100000@iolanthe.rowland.org>
Alan Stern wrote:
> On Mon, 8 Mar 2010, Jason Wessel wrote:
>
>
>> Commit e1108a63e10d344284011cccc06328b2cd3e5da3 ("usb_serial: Use the
>> shutdown() operation") breaks the ability to use a usb console
>> starting in 2.6.32. This was observed when using
>> console=ttyUSB0,115200 as a boot argument with an FTDI device. The
>> error is:
>>
>> ftdi_sio ttyUSB0: ftdi_submit_read_urb - failed submitting read urb, error -22
>>
>> The handling of the ASYNCB_INITIALIZED changed in 2.6.32 such that in
>> tty_port_shutdown() it always clears the flag if it is set. As a work
>> around the usb console must reset this flag, in order for the hw to
>> stay open.
>>
>> CC: Greg Kroah-Hartman <gregkh@suse.de>
>> CC: Alan Cox <alan@linux.intel.com>
>> CC: Alan Stern <stern@rowland.harvard.edu>
>> CC: Oliver Neukum <oliver@neukum.org>
>> CC: Andrew Morton <akpm@linux-foundation.org>
>> CC: linux-usb@vger.kernel.org
>> CC: linux-kernel@vger.kernel.org
>> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
>>
>> ---
>> drivers/usb/serial/usb-serial.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> --- a/drivers/usb/serial/usb-serial.c
>> +++ b/drivers/usb/serial/usb-serial.c
>> @@ -287,10 +287,13 @@ static void serial_down(struct tty_port
>> struct usb_serial_driver *drv = port->serial->type;
>> /*
>> * The console is magical. Do not hang up the console hardware
>> - * or there will be tears.
>> + * or there will be tears. If this is a console the initialized
>> + * flag is reset.
>> */
>> - if (port->console)
>> + if (port->console) {
>> + set_bit(ASYNCB_INITIALIZED, &port->port.flags);
>> return;
>> + }
>> if (drv->close)
>> drv->close(port);
>> }
>>
>
> This is a little unfortunate. It would be better to prevent
> tty_port_shutdown() from clearing ASYNCB_INITIALIZED in the first
> place. The problem is that the tty core doesn't know when the port is
> being used as a console. There ought to be a way to tell it.
>
I agree, but presently there is no way to do so. Up until 2.6.33 the
ASYNCB_INITIALIZED was being used to track this, but now it is used a
bit differently.
We still also have the same sort of issue for the passing in the initial
baud. I don't know if you want to go for a short term approach this
way, or try to implement something different right now. When you do
consider something longer term, I would like it to incorporate the other
serial settings as well, such that if the console initializes them first
the get correctly inherited by the tty open().
Jason.
next prev parent reply other threads:[~2010-03-08 15:43 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-08 15:21 [PATCH] usb-serial: Fix usb serial console open/close regression Jason Wessel
2010-03-08 15:35 ` Alan Stern
2010-03-08 15:43 ` Jason Wessel [this message]
2010-03-08 16:07 ` Alan Stern
2010-03-08 17:40 ` Alan Cox
2010-03-08 18:50 ` Jason Wessel
2010-03-08 20:02 ` Alan Stern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B951B0E.3000801@windriver.com \
--to=jason.wessel@windriver.com \
--cc=akpm@linux-foundation.org \
--cc=alan@linux.intel.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oliver@neukum.org \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox