summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/usb/serial/mxuport.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/usb/serial/mxuport.c')
-rw-r--r--kernel/drivers/usb/serial/mxuport.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/drivers/usb/serial/mxuport.c b/kernel/drivers/usb/serial/mxuport.c
index 31a8b47f1..c6596cbcc 100644
--- a/kernel/drivers/usb/serial/mxuport.c
+++ b/kernel/drivers/usb/serial/mxuport.c
@@ -1259,6 +1259,15 @@ static int mxuport_attach(struct usb_serial *serial)
return 0;
}
+static void mxuport_release(struct usb_serial *serial)
+{
+ struct usb_serial_port *port0 = serial->port[0];
+ struct usb_serial_port *port1 = serial->port[1];
+
+ usb_serial_generic_close(port1);
+ usb_serial_generic_close(port0);
+}
+
static int mxuport_open(struct tty_struct *tty, struct usb_serial_port *port)
{
struct mxuport_port *mxport = usb_get_serial_port_data(port);
@@ -1361,6 +1370,7 @@ static struct usb_serial_driver mxuport_device = {
.probe = mxuport_probe,
.port_probe = mxuport_port_probe,
.attach = mxuport_attach,
+ .release = mxuport_release,
.calc_num_ports = mxuport_calc_num_ports,
.open = mxuport_open,
.close = mxuport_close,