Blob Blame History Raw
From: oulijun <oulijun@huawei.com>
Date: Fri, 4 May 2018 10:57:08 +0800
Subject: RDMA/hns: Not support qp transition from reset to reset for hip06
Patch-mainline: v4.17-rc7
Git-commit: 391bd5fc7de54a5cb866e8897d60ee1d76b8840a
References: bsc#1104427 FATE#326416

Because hip06 hardware is not support for qp transition from
reset to reset state, it need to return errno when qp
transited from reset to reset. This patch fixes it.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/infiniband/hw/hns/hns_roce_qp.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--- a/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
@@ -956,7 +956,14 @@ int hns_roce_modify_qp(struct ib_qp *ibq
 	}
 
 	if (cur_state == new_state && cur_state == IB_QPS_RESET) {
-		ret = 0;
+		if (hr_dev->caps.min_wqes) {
+			ret = -EPERM;
+			dev_err(dev, "cur_state=%d new_state=%d\n", cur_state,
+				new_state);
+		} else {
+			ret = 0;
+		}
+
 		goto out;
 	}