|
@@ -2959,16 +2959,9 @@ static void edge_disconnect(struct usb_serial *serial)
|
|
|
{
|
|
|
struct edgeport_serial *edge_serial = usb_get_serial_data(serial);
|
|
|
|
|
|
- /* stop reads and writes on all ports */
|
|
|
- /* free up our endpoint stuff */
|
|
|
if (edge_serial->is_epic) {
|
|
|
usb_kill_urb(edge_serial->interrupt_read_urb);
|
|
|
- usb_free_urb(edge_serial->interrupt_read_urb);
|
|
|
- kfree(edge_serial->interrupt_in_buffer);
|
|
|
-
|
|
|
usb_kill_urb(edge_serial->read_urb);
|
|
|
- usb_free_urb(edge_serial->read_urb);
|
|
|
- kfree(edge_serial->bulk_in_buffer);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2981,6 +2974,16 @@ static void edge_release(struct usb_serial *serial)
|
|
|
{
|
|
|
struct edgeport_serial *edge_serial = usb_get_serial_data(serial);
|
|
|
|
|
|
+ if (edge_serial->is_epic) {
|
|
|
+ usb_kill_urb(edge_serial->interrupt_read_urb);
|
|
|
+ usb_free_urb(edge_serial->interrupt_read_urb);
|
|
|
+ kfree(edge_serial->interrupt_in_buffer);
|
|
|
+
|
|
|
+ usb_kill_urb(edge_serial->read_urb);
|
|
|
+ usb_free_urb(edge_serial->read_urb);
|
|
|
+ kfree(edge_serial->bulk_in_buffer);
|
|
|
+ }
|
|
|
+
|
|
|
kfree(edge_serial);
|
|
|
}
|
|
|
|