diff --git a/net/9p/trans_usbg.c b/net/9p/trans_usbg.c index 002e0a5842ab..3304986cf136 100644 --- a/net/9p/trans_usbg.c +++ b/net/9p/trans_usbg.c @@ -475,6 +475,7 @@ static void p9_usbg_close(struct p9_client *client) mutex_unlock(&usb9pfs_lock); disable_usb9pfs(usb9pfs); + reinit_completion(&usb9pfs->send); } static int p9_usbg_request(struct p9_client *client, struct p9_req_t *p9_req) @@ -764,6 +765,7 @@ static void usb9pfs_disable(struct usb_function *f) usb9pfs->client->status = Disconnected; spin_unlock_irqrestore(&usb9pfs->lock, flags); usb9pfs_clear_tx(usb9pfs); + reinit_completion(&usb9pfs->send); } static struct usb_function *usb9pfs_alloc(struct usb_function_instance *fi)