|
@@ -1490,19 +1490,19 @@ static int clean_mr(struct mlx5_ib_mr *mr)
|
|
|
mlx5_free_priv_descs(mr);
|
|
|
|
|
|
if (!allocated_from_cache) {
|
|
|
+ u32 key = mr->mmkey.key;
|
|
|
+
|
|
|
err = destroy_mkey(dev, mr);
|
|
|
+ kfree(mr);
|
|
|
if (err) {
|
|
|
mlx5_ib_warn(dev, "failed to destroy mkey 0x%x (%d)\n",
|
|
|
- mr->mmkey.key, err);
|
|
|
+ key, err);
|
|
|
return err;
|
|
|
}
|
|
|
} else {
|
|
|
mlx5_mr_cache_free(dev, mr);
|
|
|
}
|
|
|
|
|
|
- if (!allocated_from_cache)
|
|
|
- kfree(mr);
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|