diff options
Diffstat (limited to 'drivers/usb/serial/visor.c')
-rw-r--r-- | drivers/usb/serial/visor.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c index 5ac414bda718..f5d0f64dcc52 100644 --- a/drivers/usb/serial/visor.c +++ b/drivers/usb/serial/visor.c | |||
@@ -38,8 +38,7 @@ | |||
38 | /* function prototypes for a handspring visor */ | 38 | /* function prototypes for a handspring visor */ |
39 | static int visor_open(struct tty_struct *tty, struct usb_serial_port *port, | 39 | static int visor_open(struct tty_struct *tty, struct usb_serial_port *port, |
40 | struct file *filp); | 40 | struct file *filp); |
41 | static void visor_close(struct tty_struct *tty, struct usb_serial_port *port, | 41 | static void visor_close(struct usb_serial_port *port); |
42 | struct file *filp); | ||
43 | static int visor_write(struct tty_struct *tty, struct usb_serial_port *port, | 42 | static int visor_write(struct tty_struct *tty, struct usb_serial_port *port, |
44 | const unsigned char *buf, int count); | 43 | const unsigned char *buf, int count); |
45 | static int visor_write_room(struct tty_struct *tty); | 44 | static int visor_write_room(struct tty_struct *tty); |
@@ -48,7 +47,7 @@ static void visor_unthrottle(struct tty_struct *tty); | |||
48 | static int visor_probe(struct usb_serial *serial, | 47 | static int visor_probe(struct usb_serial *serial, |
49 | const struct usb_device_id *id); | 48 | const struct usb_device_id *id); |
50 | static int visor_calc_num_ports(struct usb_serial *serial); | 49 | static int visor_calc_num_ports(struct usb_serial *serial); |
51 | static void visor_shutdown(struct usb_serial *serial); | 50 | static void visor_release(struct usb_serial *serial); |
52 | static void visor_write_bulk_callback(struct urb *urb); | 51 | static void visor_write_bulk_callback(struct urb *urb); |
53 | static void visor_read_bulk_callback(struct urb *urb); | 52 | static void visor_read_bulk_callback(struct urb *urb); |
54 | static void visor_read_int_callback(struct urb *urb); | 53 | static void visor_read_int_callback(struct urb *urb); |
@@ -203,7 +202,7 @@ static struct usb_serial_driver handspring_device = { | |||
203 | .attach = treo_attach, | 202 | .attach = treo_attach, |
204 | .probe = visor_probe, | 203 | .probe = visor_probe, |
205 | .calc_num_ports = visor_calc_num_ports, | 204 | .calc_num_ports = visor_calc_num_ports, |
206 | .shutdown = visor_shutdown, | 205 | .release = visor_release, |
207 | .write = visor_write, | 206 | .write = visor_write, |
208 | .write_room = visor_write_room, | 207 | .write_room = visor_write_room, |
209 | .write_bulk_callback = visor_write_bulk_callback, | 208 | .write_bulk_callback = visor_write_bulk_callback, |
@@ -228,7 +227,7 @@ static struct usb_serial_driver clie_5_device = { | |||
228 | .attach = clie_5_attach, | 227 | .attach = clie_5_attach, |
229 | .probe = visor_probe, | 228 | .probe = visor_probe, |
230 | .calc_num_ports = visor_calc_num_ports, | 229 | .calc_num_ports = visor_calc_num_ports, |
231 | .shutdown = visor_shutdown, | 230 | .release = visor_release, |
232 | .write = visor_write, | 231 | .write = visor_write, |
233 | .write_room = visor_write_room, | 232 | .write_room = visor_write_room, |
234 | .write_bulk_callback = visor_write_bulk_callback, | 233 | .write_bulk_callback = visor_write_bulk_callback, |
@@ -324,8 +323,7 @@ exit: | |||
324 | } | 323 | } |
325 | 324 | ||
326 | 325 | ||
327 | static void visor_close(struct tty_struct *tty, | 326 | static void visor_close(struct usb_serial_port *port) |
328 | struct usb_serial_port *port, struct file *filp) | ||
329 | { | 327 | { |
330 | struct visor_private *priv = usb_get_serial_port_data(port); | 328 | struct visor_private *priv = usb_get_serial_port_data(port); |
331 | unsigned char *transfer_buffer; | 329 | unsigned char *transfer_buffer; |
@@ -920,7 +918,7 @@ static int clie_5_attach(struct usb_serial *serial) | |||
920 | return generic_startup(serial); | 918 | return generic_startup(serial); |
921 | } | 919 | } |
922 | 920 | ||
923 | static void visor_shutdown(struct usb_serial *serial) | 921 | static void visor_release(struct usb_serial *serial) |
924 | { | 922 | { |
925 | struct visor_private *priv; | 923 | struct visor_private *priv; |
926 | int i; | 924 | int i; |
@@ -929,10 +927,7 @@ static void visor_shutdown(struct usb_serial *serial) | |||
929 | 927 | ||
930 | for (i = 0; i < serial->num_ports; i++) { | 928 | for (i = 0; i < serial->num_ports; i++) { |
931 | priv = usb_get_serial_port_data(serial->port[i]); | 929 | priv = usb_get_serial_port_data(serial->port[i]); |
932 | if (priv) { | 930 | kfree(priv); |
933 | usb_set_serial_port_data(serial->port[i], NULL); | ||
934 | kfree(priv); | ||
935 | } | ||
936 | } | 931 | } |
937 | } | 932 | } |
938 | 933 | ||