summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2012-04-12 07:51:08 -0700
committerRoland Dreier <roland@purestorage.com>2012-04-12 07:56:57 -0700
commit6f3603367b8f7c34598fdfc1058622e0e1951e98 (patch)
treefa61186333d1a57894534aac71e0aac72e95815c
parent0034102808e0dbbf3a2394b82b1bb40b5778de9e (diff)
downloadblackbird-op-linux-6f3603367b8f7c34598fdfc1058622e0e1951e98.tar.gz
blackbird-op-linux-6f3603367b8f7c34598fdfc1058622e0e1951e98.zip
IB/srpt: Set srq_type to IB_SRQT_BASIC
Since commit 96104eda0169 ("RDMA/core: Add SRQ type field"), kernel users of SRQs need to specify srq_type = IB_SRQT_BASIC in struct ib_srq_init_attr, or else most low-level drivers will fail in when srpt_add_one() calls ib_create_srq() and gets -ENOSYS. (mlx4_ib works OK nearly all of the time, because it just needs srq_type != IB_SRQT_XRC. And apparently nearly everyone using ib_srpt is using mlx4 hardware) Reported-by: Alexey Shvetsov <alexxy@gentoo.org> Cc: <stable@vger.kernel.org> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/ulp/srpt/ib_srpt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index 69e2ad06e515..daf21b899999 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -3232,6 +3232,7 @@ static void srpt_add_one(struct ib_device *device)
srq_attr.attr.max_wr = sdev->srq_size;
srq_attr.attr.max_sge = 1;
srq_attr.attr.srq_limit = 0;
+ srq_attr.srq_type = IB_SRQT_BASIC;
sdev->srq = ib_create_srq(sdev->pd, &srq_attr);
if (IS_ERR(sdev->srq))
OpenPOWER on IntegriCloud