diff options
Diffstat (limited to 'drivers/usb/serial/omninet.c')
-rw-r--r-- | drivers/usb/serial/omninet.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c index df6539712726..56857ddbd70b 100644 --- a/drivers/usb/serial/omninet.c +++ b/drivers/usb/serial/omninet.c | |||
@@ -66,14 +66,14 @@ static int debug; | |||
66 | /* function prototypes */ | 66 | /* function prototypes */ |
67 | static int omninet_open(struct tty_struct *tty, struct usb_serial_port *port, | 67 | static int omninet_open(struct tty_struct *tty, struct usb_serial_port *port, |
68 | struct file *filp); | 68 | struct file *filp); |
69 | static void omninet_close(struct tty_struct *tty, struct usb_serial_port *port, | 69 | static void omninet_close(struct usb_serial_port *port); |
70 | struct file *filp); | ||
71 | static void omninet_read_bulk_callback(struct urb *urb); | 70 | static void omninet_read_bulk_callback(struct urb *urb); |
72 | static void omninet_write_bulk_callback(struct urb *urb); | 71 | static void omninet_write_bulk_callback(struct urb *urb); |
73 | static int omninet_write(struct tty_struct *tty, struct usb_serial_port *port, | 72 | static int omninet_write(struct tty_struct *tty, struct usb_serial_port *port, |
74 | const unsigned char *buf, int count); | 73 | const unsigned char *buf, int count); |
75 | static int omninet_write_room(struct tty_struct *tty); | 74 | static int omninet_write_room(struct tty_struct *tty); |
76 | static void omninet_shutdown(struct usb_serial *serial); | 75 | static void omninet_disconnect(struct usb_serial *serial); |
76 | static void omninet_release(struct usb_serial *serial); | ||
77 | static int omninet_attach(struct usb_serial *serial); | 77 | static int omninet_attach(struct usb_serial *serial); |
78 | 78 | ||
79 | static struct usb_device_id id_table[] = { | 79 | static struct usb_device_id id_table[] = { |
@@ -109,7 +109,8 @@ static struct usb_serial_driver zyxel_omninet_device = { | |||
109 | .write_room = omninet_write_room, | 109 | .write_room = omninet_write_room, |
110 | .read_bulk_callback = omninet_read_bulk_callback, | 110 | .read_bulk_callback = omninet_read_bulk_callback, |
111 | .write_bulk_callback = omninet_write_bulk_callback, | 111 | .write_bulk_callback = omninet_write_bulk_callback, |
112 | .shutdown = omninet_shutdown, | 112 | .disconnect = omninet_disconnect, |
113 | .release = omninet_release, | ||
113 | }; | 114 | }; |
114 | 115 | ||
115 | 116 | ||
@@ -189,8 +190,7 @@ static int omninet_open(struct tty_struct *tty, | |||
189 | return result; | 190 | return result; |
190 | } | 191 | } |
191 | 192 | ||
192 | static void omninet_close(struct tty_struct *tty, | 193 | static void omninet_close(struct usb_serial_port *port) |
193 | struct usb_serial_port *port, struct file *filp) | ||
194 | { | 194 | { |
195 | dbg("%s - port %d", __func__, port->number); | 195 | dbg("%s - port %d", __func__, port->number); |
196 | usb_kill_urb(port->read_urb); | 196 | usb_kill_urb(port->read_urb); |
@@ -347,13 +347,22 @@ static void omninet_write_bulk_callback(struct urb *urb) | |||
347 | } | 347 | } |
348 | 348 | ||
349 | 349 | ||
350 | static void omninet_shutdown(struct usb_serial *serial) | 350 | static void omninet_disconnect(struct usb_serial *serial) |
351 | { | 351 | { |
352 | struct usb_serial_port *wport = serial->port[1]; | 352 | struct usb_serial_port *wport = serial->port[1]; |
353 | struct usb_serial_port *port = serial->port[0]; | 353 | |
354 | dbg("%s", __func__); | 354 | dbg("%s", __func__); |
355 | 355 | ||
356 | usb_kill_urb(wport->write_urb); | 356 | usb_kill_urb(wport->write_urb); |
357 | } | ||
358 | |||
359 | |||
360 | static void omninet_release(struct usb_serial *serial) | ||
361 | { | ||
362 | struct usb_serial_port *port = serial->port[0]; | ||
363 | |||
364 | dbg("%s", __func__); | ||
365 | |||
357 | kfree(usb_get_serial_port_data(port)); | 366 | kfree(usb_get_serial_port_data(port)); |
358 | } | 367 | } |
359 | 368 | ||