Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1252c517 authored by Dotan Barak's avatar Dotan Barak Committed by Roland Dreier
Browse files

IB/mthca: Fix SRQ limit event range check



Mem-free HCAs always keep one spare SRQ WQE, so the SRQ limit cannot
be set beyond srq->max - 1.

Signed-off-by: default avatarDotan Barak <dotanb@mellanox.co.il>
Signed-off-by: default avatarMichael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 43db2bc0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -370,7 +370,8 @@ int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr,
		return -EINVAL;

	if (attr_mask & IB_SRQ_LIMIT) {
		if (attr->srq_limit > srq->max)
		u32 max_wr = mthca_is_memfree(dev) ? srq->max - 1 : srq->max;
		if (attr->srq_limit > max_wr)
			return -EINVAL;

		mutex_lock(&srq->mutex);