summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authoroulijun <oulijun@huawei.com>2018-05-04 04:57:08 +0200
committerDoug Ledford <dledford@redhat.com>2018-05-09 16:45:18 +0200
commit391bd5fc7de54a5cb866e8897d60ee1d76b8840a (patch)
tree59b2204a9f341cd157805305c93763cde2a95ae8 /drivers/infiniband/hw
parentRDMA/hns: Add return operation when configured global param fail (diff)
downloadlinux-391bd5fc7de54a5cb866e8897d60ee1d76b8840a.tar.xz
linux-391bd5fc7de54a5cb866e8897d60ee1d76b8840a.zip
RDMA/hns: Not support qp transition from reset to reset for hip06
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>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_qp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
index cdfb774e28ff..baaf906f7c2e 100644
--- 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 *ibqp, struct ib_qp_attr *attr,
}
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;
}