| From 063a97f645cba4e491b8276b037d6cf6c002460b Mon Sep 17 00:00:00 2001 |
| From: Leon Romanovsky <leonro@mellanox.com> |
| Date: Tue, 29 Oct 2019 07:57:21 +0200 |
| Subject: [PATCH] RDMA/mlx5: Return proper error value |
| |
| commit 546d30099ed204792083f043cd7e016de86016a3 upstream. |
| |
| Returned value from mlx5_mr_cache_alloc() is checked to be error or real |
| pointer. Return proper error code instead of NULL which is not checked |
| later. |
| |
| Fixes: 81713d3788d2 ("IB/mlx5: Add implicit MR support") |
| Link: https://lore.kernel.org/r/20191029055721.7192-1-leon@kernel.org |
| Signed-off-by: Leon Romanovsky <leonro@mellanox.com> |
| Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> |
| Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c |
| index 1bbcd80c0ca5..eaab3e5b785b 100644 |
| --- a/drivers/infiniband/hw/mlx5/mr.c |
| +++ b/drivers/infiniband/hw/mlx5/mr.c |
| @@ -454,7 +454,7 @@ struct mlx5_ib_mr *mlx5_mr_cache_alloc(struct mlx5_ib_dev *dev, int entry) |
| |
| if (entry < 0 || entry >= MAX_MR_CACHE_ENTRIES) { |
| mlx5_ib_err(dev, "cache entry %d is out of range\n", entry); |
| - return NULL; |
| + return ERR_PTR(-EINVAL); |
| } |
| |
| ent = &cache->ent[entry]; |
| -- |
| 2.7.4 |
| |