Messages in this thread Patch in this message | | | Date | Mon, 12 Mar 2007 16:22:22 -0400 | From | Mark Lord <> | Subject | [PATCH] usb-serial regression (Oops) in 2.6.21-rc* |
| |
Oliver Neukum wrote: >> Mark Lord wrote: >>> Okay, from that part (above), the problem is obvious: >>> in that the "MCT U232 converter now disconnected" appears, >>> and then we continue to try and call the driver's method.. Oops! .. > IMHO shutdown() is using serial->port[] and bombs. > Could you reverse the order here?
Yup. Fixed. Tested. Works.
This patch fixes the Oops that otherwise occurs whenever a USB serial adapter is unplugged from a system, as well the Oops seen when one is in use before resume (to RAM).
GregKH: This needs to go into 2.6.21-rc*.
Signed-off-by: Mark Lord <mlord@pobox.com> --- --- 2.6.21-rc3/drivers/usb/serial/usb-serial.c 2007-03-12 11:22:43.000000000 -0400 +++ linux/drivers/usb/serial/usb-serial.c 2007-03-12 16:12:53.000000000 -0400 @@ -141,6 +141,9 @@ for (i = 0; i < serial->num_ports; ++i) serial->port[i]->open_count = 0; + if (serial->type->shutdown) + serial->type->shutdown(serial); + /* the ports are cleaned up and released in port_release() */ for (i = 0; i < serial->num_ports; ++i) if (serial->port[i]->dev.parent != NULL) { @@ -148,9 +151,6 @@ serial->port[i] = NULL; } - if (serial->type->shutdown) - serial->type->shutdown(serial); - /* return the minor range that this device had */ return_serial(serial); - 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/
| |