lkml.org 
[lkml]   [2003]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [OOPS] 2.4.22, USB visor module crashing on HotSync.
On Fri, Sep 05, 2003 at 01:30:22PM +0200, Ingo Oeser wrote:
> Hi Greg,
>
> there seems to be a problem with the visor module and usb_serial.
>
> Please look at __serial_close() and usb_disconnect() calling it
> in line 1406 vs. line 1408. I would suggest removing 1408 or
> folding it into __serial_close().
>
> Formal Bug-Reporting follows:
>
> [1.] One line summary of the problem:
>
> USB visor module and usb_serial crashing on HotSync in usb_disconnect
>
> [2.] Full description of the problem/report:
>
> usb_disconnect calls __serial_close() which sets the tty = NULL
> and afterwards trys to set tty->private_data = NULL
> which will crash

Nice, someone else reported this yesterday for the ftdi_sio driver.

Can you test the patch below and let me know if this fixes it?

thanks,

greg k-h


--- a/drivers/usb/serial/usbserial.c Sat Aug 30 23:27:18 2003
+++ b/drivers/usb/serial/usbserial.c Thu Sep 4 13:48:45 2003
@@ -556,7 +556,10 @@
else
generic_close(port, filp);
port->open_count = 0;
- port->tty = NULL;
+ if (port->tty) {
+ port->tty->driver_data = NULL;
+ port->tty = NULL;
+ }
}

if (port->serial->type->owner)
@@ -1401,12 +1404,9 @@
for (i = 0; i < serial->num_ports; ++i) {
port = &serial->port[i];
down (&port->sem);
- if (port->tty != NULL) {
- while (port->open_count > 0) {
+ if (port->tty != NULL)
+ while (port->open_count > 0)
__serial_close(port, NULL);
- }
- port->tty->driver_data = NULL;
- }
up (&port->sem);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.044 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site