9p: fix a race condition bug in umount which caused a segfault
[pandora-kernel.git] / net / 9p / client.c
index bb2b8a3..cb17075 100644 (file)
@@ -127,12 +127,12 @@ void p9_client_destroy(struct p9_client *clnt)
                clnt->trans = NULL;
        }
 
-       if (clnt->fidpool)
-               p9_idpool_destroy(clnt->fidpool);
-
        list_for_each_entry_safe(fid, fidptr, &clnt->fidlist, flist)
                p9_fid_destroy(fid);
 
+       if (clnt->fidpool)
+               p9_idpool_destroy(clnt->fidpool);
+
        kfree(clnt);
 }
 EXPORT_SYMBOL(p9_client_destroy);