OK, I replaced the function with:

+static int srp_init_qp(struct srp_target_port *target,
+                      struct ib_qp *qp)
+{
+       struct ib_qp_attr *attr;
+       int ret;
+
+       attr = kmalloc(sizeof *attr, GFP_KERNEL);
+       if (!attr)
+               return -ENOMEM;
+
+       ret = ib_find_cached_pkey(target->srp_host->dev,
+                                 target->srp_host->port,
+                                 be16_to_cpu(target->path.pkey),
+                                 &attr->pkey_index);
+       if (ret)
+               goto out;
+
+       attr->qp_state        = IB_QPS_INIT;
+       attr->qp_access_flags = (IB_ACCESS_REMOTE_READ |
+                                   IB_ACCESS_REMOTE_WRITE);
+       attr->port_num        = target->srp_host->port;
+
+       ret = ib_modify_qp(qp, attr,
+                          IB_QP_STATE          |
+                          IB_QP_PKEY_INDEX     |
+                          IB_QP_ACCESS_FLAGS   |
+                          IB_QP_PORT);
+
+out:
+       kfree(attr);
+       return ret;
+}
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to