USB: serial: fix port release
We should not call kill_traffic (and usb_kill_urb) once disconnect returns. Any pending urbs are killed at disconnect and new submissions are prevented by usb_unbind_interface (and usb_disable_interface). Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
30d9d42e9a
commit
a4a83100a1
@ -572,13 +572,6 @@ static void port_release(struct device *dev)
|
||||
|
||||
dev_dbg(dev, "%s\n", __func__);
|
||||
|
||||
/*
|
||||
* Stop all the traffic before cancelling the work, so that
|
||||
* nobody will restart it by calling usb_serial_port_softint.
|
||||
*/
|
||||
kill_traffic(port);
|
||||
cancel_work_sync(&port->work);
|
||||
|
||||
usb_free_urb(port->interrupt_in_urb);
|
||||
usb_free_urb(port->interrupt_out_urb);
|
||||
for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user