It's cleaner to kfree mthca_mr, and not rely on the fact that ib_mr is the
first field in mthca_mr.
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
 
 static int mthca_dereg_mr(struct ib_mr *mr)
 {
-       mthca_free_mr(to_mdev(mr->device), to_mmr(mr));
-       kfree(mr);
+       struct mthca_mr *mmr = to_mmr(mr);
+       mthca_free_mr(to_mdev(mr->device), mmr);
+       kfree(mmr);
        return 0;
 }