mirror of
https://github.com/adulau/aha.git
synced 2025-01-02 14:13:18 +00:00
IB/mthca: Check that SRQ WQE size does not exceed device's max value
Guarantee the calculated work queue entry size does not exceed the max allowable WQE size when creating an SRQ. This is a problem with Arbel in Tavor-compatibility mode because the current WQE size computation method rounds up to next power of 2. Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
0ef61db837
commit
ded9ad721d
1 changed files with 4 additions and 0 deletions
|
@ -205,6 +205,10 @@ int mthca_alloc_srq(struct mthca_dev *dev, struct mthca_pd *pd,
|
|||
ds = max(64UL,
|
||||
roundup_pow_of_two(sizeof (struct mthca_next_seg) +
|
||||
srq->max_gs * sizeof (struct mthca_data_seg)));
|
||||
|
||||
if (ds > dev->limits.max_desc_sz)
|
||||
return -EINVAL;
|
||||
|
||||
srq->wqe_shift = long_log2(ds);
|
||||
|
||||
srq->srqn = mthca_alloc(&dev->srq_table.alloc);
|
||||
|
|
Loading…
Reference in a new issue