diff options
author | Nicolas Morey-Chaisemartin | 2019-02-05 18:21:02 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2019-03-23 20:09:45 +0100 |
commit | d84bc704b91ed915677d5506ba32514f2b62f09c (patch) | |
tree | e7e44123956879fedfa040da4e042ec952499983 /net | |
parent | floppy: check_events callback should not return a negative number (diff) | |
download | kernel-qcow2-linux-d84bc704b91ed915677d5506ba32514f2b62f09c.tar.gz kernel-qcow2-linux-d84bc704b91ed915677d5506ba32514f2b62f09c.tar.xz kernel-qcow2-linux-d84bc704b91ed915677d5506ba32514f2b62f09c.zip |
xprtrdma: Make sure Send CQ is allocated on an existing compvec
[ Upstream commit a4cb5bdb754afe21f3e9e7164213e8600cf69427 ]
Make sure the device has at least 2 completion vectors
before allocating to compvec#1
Fixes: a4699f5647f3 (xprtrdma: Put Send CQ in IB_POLL_WORKQUEUE mode)
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/xprtrdma/verbs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index 3d6bf790cf1f..5ddbf227e7c6 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c @@ -546,7 +546,8 @@ rpcrdma_ep_create(struct rpcrdma_ep *ep, struct rpcrdma_ia *ia, sendcq = ib_alloc_cq(ia->ri_device, NULL, ep->rep_attr.cap.max_send_wr + 1, - 1, IB_POLL_WORKQUEUE); + ia->ri_device->num_comp_vectors > 1 ? 1 : 0, + IB_POLL_WORKQUEUE); if (IS_ERR(sendcq)) { rc = PTR_ERR(sendcq); dprintk("RPC: %s: failed to create send CQ: %i\n", |