On Tue, 9 May 2006, Guennadi Liakhovetski wrote:
> On Mon, 8 May 2006, Guennadi Liakhovetski wrote:
>
> > Yes. I put a WARN_ON(1) next to ++open_count in both files and I still see
> > it every time I log in and out.
>
> Below is my current version of the patch. No idea in how far it is
> generically acceptable... Works for me.
At last I tried another usb-serial adapter (pl2303) without the patch
below - login on ttyUSB0 (while having console configured) works. So, the
patch below is wrong, the problem indeed is somewhere in ftdi_sio. OTOH,
with pl2303 the whole boot-log is corrupted. Looks like the baudrate is
not configured. But, I guess, with the switch to drivers/serial everything
will change anyway, so, makes no sense to debug those problems further
now.
Thanks
Guennadi
---
Guennadi Liakhovetski
>
> diff -u a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c
> --- a/drivers/usb/serial/console.c 2006-05-09 00:28:03.000000000 +0200
> +++ b/drivers/usb/serial/console.c 2006-05-09 00:26:26.000000000 +0200
> @@ -296,3 +296,7 @@
> }
> }
>
> +int usb_serial_console_port(struct usb_serial_port *port)
> +{
> + return (port == usbcons_info.port);
> +}
> diff -u a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
> --- a/drivers/usb/serial/usb-serial.c 2006-05-09 00:27:31.000000000 +0200
> +++ b/drivers/usb/serial/usb-serial.c 2006-05-09 00:25:57.000000000 +0200
> @@ -208,7 +208,7 @@
> tty->driver_data = port;
> port->tty = tty;
>
> - if (port->open_count == 1) {
> + if (port->open_count == 1 || (port->open_count == 2 &&
> usb_serial_console_port(port))) {
>
> /* lock this module before we call it
> * this may fail, which means we must bail out,
> diff -u a/drivers/usb/serial/usb-serial.h b/drivers/usb/serial/usb-serial.h
> --- a/drivers/usb/serial/usb-serial.h 2006-05-09 00:27:10.000000000 +0200
> +++ b/drivers/usb/serial/usb-serial.h 2006-05-09 00:12:20.000000000 +0200
> @@ -249,10 +249,12 @@
> extern void usb_serial_console_init (int debug, int minor);
> extern void usb_serial_console_exit (void);
> extern void usb_serial_console_disconnect(struct usb_serial *serial);
> +extern int usb_serial_console_port(struct usb_serial_port *port);
> #else
> static inline void usb_serial_console_init (int debug, int minor) { }
> static inline void usb_serial_console_exit (void) { }
> static inline void usb_serial_console_disconnect(struct usb_serial *serial)
> {}
> +static inline int usb_serial_console_port(struct usb_serial_port *port)
> {return 0;}
> #endif
>
> /* Functions needed by other parts of the usbserial core */
>
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel