diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c index a0317d459cdefb7f41d8b65fa8eb61757b1e797f..f868cf6fba7946c87d0bb152dbd35ba61e3eb0fb 100644 --- a/net/9p/trans_fd.c +++ b/net/9p/trans_fd.c @@ -876,7 +876,15 @@ static void p9_conn_destroy(struct p9_conn *m) p9_mux_poll_stop(m); cancel_work_sync(&m->rq); + if (m->rreq) { + p9_req_put(m->rreq); + m->rreq = NULL; + } cancel_work_sync(&m->wq); + if (m->wreq) { + p9_req_put(m->wreq); + m->wreq = NULL; + } p9_conn_cancel(m, -ECONNRESET);