RDMA/core: Fix error return in _ib_modify_qp()
authorJing Xiangfeng <jingxiangfeng@huawei.com>
Fri, 16 Oct 2020 07:58:45 +0000 (15:58 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:52:58 +0000 (11:52 +0100)
[ Upstream commit 5333499c6014224756e97fa1a1047dfa592d76d3 ]

Fix to return error code PTR_ERR() from the error handling case instead of
0.

Fixes: 51aab12631dd ("RDMA/core: Get xmit slave for LAG")
Link: https://lore.kernel.org/r/20201016075845.129562-1-jingxiangfeng@huawei.com
Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Reviewed-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/infiniband/core/verbs.c

index 740f845..3d895cc 100644 (file)
@@ -1698,8 +1698,10 @@ static int _ib_modify_qp(struct ib_qp *qp, struct ib_qp_attr *attr,
                        slave = rdma_lag_get_ah_roce_slave(qp->device,
                                                           &attr->ah_attr,
                                                           GFP_KERNEL);
-                       if (IS_ERR(slave))
+                       if (IS_ERR(slave)) {
+                               ret = PTR_ERR(slave);
                                goto out_av;
+                       }
                        attr->xmit_slave = slave;
                }
        }