diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index cb33fb4e9a80..e94a02395357 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c @@ -3106,6 +3106,8 @@ static void hso_free_interface(struct usb_interface *interface) mutex_lock(&serial->parent->mutex); serial->parent->usb_gone = 1; mutex_unlock(&serial->parent->mutex); + cancel_work_sync(&serial_table[i]->async_put_intf); + cancel_work_sync(&serial_table[i]->async_get_intf); hso_serial_tty_unregister(serial); kref_put(&serial_table[i]->ref, hso_serial_ref_free); set_serial_by_index(i, NULL);