[PATCH for-rc] IB/cma: Allow XRG INI QPs to set their local ACK timeout

From: Håkon Bugge
Date: Wed Feb 09 2022 - 08:23:14 EST


XRC INI QPs should be able to adjust their local ACK timeout.

Fixes: 2c1619edef61 ("IB/cma: Define option to set ack timeout and pack tos_set")
Signed-off-by: Håkon Bugge <haakon.bugge@xxxxxxxxxx>
Suggested-by: Avneesh Pant <avneesh.pant@xxxxxxxxxx>

---

To avoid excessive discussions around the *if (WARN_ON( ...*
construct, just saying that it has been sanctioned by Jason here:

https://lore.kernel.org/linux-rdma/20210413135120.GT7405@xxxxxxxxxx/
---
drivers/infiniband/core/cma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 0f5f0d7..006ea9c 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -2811,7 +2811,7 @@ int rdma_set_ack_timeout(struct rdma_cm_id *id, u8 timeout)
{
struct rdma_id_private *id_priv;

- if (id->qp_type != IB_QPT_RC)
+ if (WARN_ON(id->qp_type != IB_QPT_RC && id->qp_type != IB_QPT_XRC_INI))
return -EINVAL;

id_priv = container_of(id, struct rdma_id_private, id);
--
1.8.3.1