diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-21 09:14:55 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-09-21 09:14:55 +0100 |
commit | db8c076b9206ea35b1f7299708d5510b17674db2 (patch) | |
tree | 7a5ee32db0c25bb29598c7c300ce7f2680f533a9 /net/9p/client.c | |
parent | af6261031317f646d22f994c0b467521e47aa49f (diff) | |
parent | b30a3f6257ed2105259b404d419b4964e363928c (diff) |
Merge remote branch 'linus' into drm-intel-fixes
Diffstat (limited to 'net/9p/client.c')
-rw-r--r-- | net/9p/client.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/9p/client.c b/net/9p/client.c index dc6f2f26d02..9eb72505308 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -331,8 +331,10 @@ static void p9_tag_cleanup(struct p9_client *c) } } - if (c->tagpool) + if (c->tagpool) { + p9_idpool_put(0, c->tagpool); /* free reserved tag 0 */ p9_idpool_destroy(c->tagpool); + } /* free requests associated with tags */ for (row = 0; row < (c->max_tag/P9_ROW_MAXTAG); row++) { @@ -944,6 +946,7 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, int nwname, char **wnames, int16_t nwqids, count; err = 0; + wqids = NULL; clnt = oldfid->clnt; if (clone) { fid = p9_fid_create(clnt); @@ -994,9 +997,11 @@ struct p9_fid *p9_client_walk(struct p9_fid *oldfid, int nwname, char **wnames, else fid->qid = oldfid->qid; + kfree(wqids); return fid; clunk_fid: + kfree(wqids); p9_client_clunk(fid); fid = NULL; |