diff --git a/net/9p/trans_usbg.c b/net/9p/trans_usbg.c index 021631d63318..5f15e4249e84 100644 --- a/net/9p/trans_usbg.c +++ b/net/9p/trans_usbg.c @@ -435,6 +435,11 @@ static void usb9pfs_clear_tx(struct f_usb9pfs *usb9pfs) if (!req) return; + usb9pfs->in_req->context = NULL; + + if (!usb9pfs->client) + return; + if (!req->t_err) req->t_err = -ECONNRESET; @@ -457,6 +462,7 @@ static void p9_usbg_close(struct p9_client *client) client->status = Disconnected; usb9pfs_clear_tx(usb9pfs); + usb9pfs->client = NULL; opts = container_of(usb9pfs->function.fi, struct f_usb9pfs_opts, func_inst);