This patch (as1289) renames serial_do_down() to serial_down() and serial_do_free() to serial_release(). It also adds a missing call to tty_shutdown() in serial_release(). Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> --- Index: usb-2.6/drivers/usb/serial/usb-serial.c =================================================================== --- usb-2.6.orig/drivers/usb/serial/usb-serial.c +++ usb-2.6/drivers/usb/serial/usb-serial.c @@ -192,7 +192,7 @@ void usb_serial_put(struct usb_serial *s * This is the first place a new tty gets used. Hence this is where we * acquire references to the usb_serial structure and the driver module, * where we store a pointer to the port, and where we do an autoresume. - * All these actions are reversed in serial_do_free(). + * All these actions are reversed in serial_release(). */ static int serial_install(struct tty_driver *driver, struct tty_struct *tty) { @@ -297,13 +297,13 @@ bailout_mutex_unlock: } /** - * serial_do_down - shut down hardware + * serial_down - shut down hardware * @port: port to shut down * * Shut down a USB serial port unless it is the console. We never * shut down the console hardware as it will always be in use. */ -static void serial_do_down(struct usb_serial_port *port) +static void serial_down(struct usb_serial_port *port) { struct usb_serial_driver *drv = port->serial->type; @@ -322,7 +322,7 @@ static void serial_do_down(struct usb_se static void serial_hangup(struct tty_struct *tty) { struct usb_serial_port *port = tty->driver_data; - serial_do_down(port); + serial_down(port); tty_port_hangup(&port->port); /* We must not free port yet - the USB serial layer depends on it's continued existence */ @@ -336,13 +336,13 @@ static void serial_close(struct tty_stru if (tty_port_close_start(&port->port, tty, filp) == 0) return; - serial_do_down(port); + serial_down(port); tty_port_close_end(&port->port, tty); tty_port_tty_set(&port->port, NULL); } /** - * serial_do_free - free resources post close/hangup + * serial_release - free resources post close/hangup * @port: port to free up * * Do the resource freeing and refcount dropping for the port. @@ -350,7 +350,7 @@ static void serial_close(struct tty_stru * * Called when the last tty kref is dropped. */ -static void serial_do_free(struct tty_struct *tty) +static void serial_release(struct tty_struct *tty) { struct usb_serial_port *port = tty->driver_data; struct usb_serial *serial; @@ -362,6 +362,9 @@ static void serial_do_free(struct tty_st if (port->console) return; + /* Standard shutdown processing */ + tty_shutdown(tty); + tty->driver_data = NULL; serial = port->serial; @@ -1207,7 +1210,7 @@ static const struct tty_operations seria .chars_in_buffer = serial_chars_in_buffer, .tiocmget = serial_tiocmget, .tiocmset = serial_tiocmset, - .shutdown = serial_do_free, + .shutdown = serial_release, .install = serial_install, .proc_fops = &serial_proc_fops, }; -- 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