[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090917141913.47f9451b@lxorguk.ukuu.org.uk>
Date: Thu, 17 Sep 2009 14:19:13 +0100
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: Jason Wessel <jason.wessel@...driver.com>,
Alan Stern <stern@...land.harvard.edu>, gregkh@...e.de,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] usb console,usb-serial: pass initial console baud
on to first tty open
On Thu, 17 Sep 2009 14:08:28 +0100
Alan Cox <alan@...rguk.ukuu.org.uk> wrote:
>
> > - memset(&dummy, 0, sizeof(struct ktermios));
> > - tty->termios = termios;
> > + tty->termios = &usb_serial_tty_driver->init_termios;
>
> That will corrupt the master one which is a reference used for many ports.
>
>
> You need the serial_install stuff or something similar resurrecting to do
> this properly.
Here's a suggestion on how to do it.
Add a tty->ops->init_termios()
Make tty_init_termios() read
if (tp == NULL) {
tp = kzalloc(sizeof(struct ktermios[2]), GFP_KERNEL);
if (tp == NULL)
return -ENOMEM;
memcpy(tp, &tty->driver->init_termios,
sizeof(struct ktermios));
if (tty->ops->init_termios)
tty->ops->init_termios(tty);
tty->driver->termios[idx] = tp;
}
Thats a good deal cleaner than the ->install override in the USB patches
Greg inherited and will be usable for cleaning up USB stuff too.
--
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