diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 16:06:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-16 16:06:10 -0400 |
commit | e1f5b94fd0c93c3e27ede88b7ab652d086dc960f (patch) | |
tree | e8de7a132eb88521dd1c19e128eba2d5349bdf4f /drivers/usb/serial/kobil_sct.c | |
parent | 6fd03301d76bc439382710e449f58efbb233df1b (diff) | |
parent | 1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)
USB: xhci depends on PCI.
USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.
USB: xhci: Respect critical sections.
USB: xHCI: Fix interrupt moderation.
USB: xhci: Remove packed attribute from structures.
usb; xhci: Fix TRB offset calculations.
USB: xhci: replace if-elseif-else with switch-case
USB: xhci: Make xhci-mem.c include linux/dmapool.h
USB: xhci: drop spinlock in xhci_urb_enqueue() error path.
USB: Change names of SuperSpeed ep companion descriptor structs.
USB: xhci: Avoid compiler reordering in Link TRB giveback.
USB: xhci: Clean up xhci_irq() function.
USB: xhci: Avoid global namespace pollution.
USB: xhci: Fix Link TRB handoff bit twiddling.
USB: xhci: Fix register write order.
USB: xhci: fix some compiler warnings in xhci.h
USB: xhci: fix lots of compiler warnings.
USB: xhci: use xhci_handle_event instead of handle_event
USB: xhci: URB cancellation support.
USB: xhci: Scatter gather list support for bulk transfers.
...
Diffstat (limited to 'drivers/usb/serial/kobil_sct.c')
-rw-r--r-- | drivers/usb/serial/kobil_sct.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c index 6b570498287f..6db0e561f680 100644 --- a/drivers/usb/serial/kobil_sct.c +++ b/drivers/usb/serial/kobil_sct.c | |||
@@ -69,7 +69,7 @@ static int debug; | |||
69 | 69 | ||
70 | /* Function prototypes */ | 70 | /* Function prototypes */ |
71 | static int kobil_startup(struct usb_serial *serial); | 71 | static int kobil_startup(struct usb_serial *serial); |
72 | static void kobil_shutdown(struct usb_serial *serial); | 72 | static void kobil_release(struct usb_serial *serial); |
73 | static int kobil_open(struct tty_struct *tty, | 73 | static int kobil_open(struct tty_struct *tty, |
74 | struct usb_serial_port *port, struct file *filp); | 74 | struct usb_serial_port *port, struct file *filp); |
75 | static void kobil_close(struct usb_serial_port *port); | 75 | static void kobil_close(struct usb_serial_port *port); |
@@ -117,7 +117,7 @@ static struct usb_serial_driver kobil_device = { | |||
117 | .id_table = id_table, | 117 | .id_table = id_table, |
118 | .num_ports = 1, | 118 | .num_ports = 1, |
119 | .attach = kobil_startup, | 119 | .attach = kobil_startup, |
120 | .shutdown = kobil_shutdown, | 120 | .release = kobil_release, |
121 | .ioctl = kobil_ioctl, | 121 | .ioctl = kobil_ioctl, |
122 | .set_termios = kobil_set_termios, | 122 | .set_termios = kobil_set_termios, |
123 | .tiocmget = kobil_tiocmget, | 123 | .tiocmget = kobil_tiocmget, |
@@ -201,17 +201,13 @@ static int kobil_startup(struct usb_serial *serial) | |||
201 | } | 201 | } |
202 | 202 | ||
203 | 203 | ||
204 | static void kobil_shutdown(struct usb_serial *serial) | 204 | static void kobil_release(struct usb_serial *serial) |
205 | { | 205 | { |
206 | int i; | 206 | int i; |
207 | dbg("%s - port %d", __func__, serial->port[0]->number); | 207 | dbg("%s - port %d", __func__, serial->port[0]->number); |
208 | 208 | ||
209 | for (i = 0; i < serial->num_ports; ++i) { | 209 | for (i = 0; i < serial->num_ports; ++i) |
210 | while (serial->port[i]->port.count > 0) | ||
211 | kobil_close(serial->port[i]); | ||
212 | kfree(usb_get_serial_port_data(serial->port[i])); | 210 | kfree(usb_get_serial_port_data(serial->port[i])); |
213 | usb_set_serial_port_data(serial->port[i], NULL); | ||
214 | } | ||
215 | } | 211 | } |
216 | 212 | ||
217 | 213 | ||