Skip to content

Commit a07bacc

Browse files
Jack MorgensteinRoland Dreier
authored andcommitted
IB/mthca: Fix check of size in SRQ creation
The previous patch for Tavor broke MemFree logic. The driver should perform limit check only for Tavor. For MemFree, the check is incorrect, since ds (WQE stride) is always a power-of-2 (although the max_desc_size may not be). In Tavor, however, WQE stride and desc_size are the same, and are not necessarily power-of-2. The check was really for the WQE stride (and it Tavor, we use max_desc_size for the stride). Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
1 parent 3f89f83 commit a07bacc

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/infiniband/hw/mthca/mthca_srq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ int mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd,
206206
roundup_pow_of_two(sizeof (struct mthca_next_seg) +
207207
srq->max_gs * sizeof (struct mthca_data_seg)));
208208

209-
if (ds > dev->limits.max_desc_sz)
209+
if (!mthca_is_memfree(dev) && (ds > dev->limits.max_desc_sz))
210210
return -EINVAL;
211211

212212
srq->wqe_shift = long_log2(ds);

0 commit comments

Comments
 (0)