diff --git a/net/9p/client.c b/net/9p/client.c index 69d3efd340c0..ef64546c6d52 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -1094,7 +1094,8 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, uint16_t nwname, clunk_fid: kfree(wqids); - p9_fid_put(fid); + if (fid != oldfid) + p9_fid_put(fid); fid = NULL; error: