[MTHCA] re-bugfix: perform memory deregistration in reverse order wrt. memory registr...
[mirror/winof/.git] / hw / mthca / kernel / mthca_provider.c
index 763d4b8..16a21d9 100644 (file)
@@ -1117,10 +1117,13 @@ int mthca_dereg_mr(struct ib_mr *mr)
        struct mthca_mr *mmr = to_mmr(mr);
        struct mthca_dev* dev = to_mdev(mr->device);
 
-       if (mr->pd->ucontext) 
+       if (mr->pd->ucontext) {
                MmUnsecureVirtualMemory ( mmr->secure_handle );
-       mthca_free_mr(dev, mmr);
-       iobuf_deregister(&mmr->iobuf);
+               mthca_free_mr(dev, mmr);
+               iobuf_deregister(&mmr->iobuf);
+       }
+       else
+               mthca_free_mr(dev, mmr);
        kfree(mmr);
        return 0;
 }