From: marui <m00150988@xxxxxxxxxx> 1. I find this bug on OpenSUSE 11.3 which kernel vesion is 2.6.34, but the latest kernel vesion 2.6.36-rc7 aslo have this bug. This patch is based on the kernel of 2.6.36-rc7. 2. Bug report: a. Install huawei datacard dashboard on OpenSUSE 11.3 b. Plug in huawei datacard into OpenSUSE 11.3 which kernel verison is 2.6.36-rc7 c. After the dashboard has detected the device, I pull out the usb datacard d. close datashboard,then kernel panic will happen in usbserial_cleanup function. 3. fix the bug: I find usbserial_cleanup should judge the usb device wheher has been disconnected firtly. Signed-off-by: marui<m00150988@xxxxxxxxxx> --- linux-2.6.36-rc7_orig/drivers/usb/serial/usb-serial.c 2010-10-06 16:39:52.000000000 -0400 +++ linux-2.6.36-rc7/drivers/usb/serial/usb-serial.c 2010-10-14 20:59:47.000000000 -0400 @@ -328,6 +328,20 @@ static void serial_cleanup(struct tty_st /* The console is magical. Do not hang up the console hardware * or there will be tears. */ + dbg("%s start\n",__func__); + if(NULL == port) + { + dbg("%s NULL == port\n",__func__); + return; + } + mutex_lock(&port->serial->disc_mutex); + if (port->serial->disconnected) + { + dbg("%s port->serial->disconnected\n",__func__); + return_serial(port->serial); + return; + } + mutex_unlock(&port->serial->disc_mutex); if (port->port.console) return; -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html