RDMA/i40iw: Correct STag mask to min of 14 bits

STag index mask is calculated incorrectly, missing
the 14 bits minimum requirement. Add max macro to use
either # of MRs or 14 bits in the mask size calculation.

Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Chien Tin Tung 2016-04-22 14:14:24 -05:00 committed by Doug Ledford
parent 9510b0666e
commit 8e9f04a7c7
1 changed files with 2 additions and 1 deletions

View File

@ -107,7 +107,8 @@ u32 i40iw_initialize_hw_resources(struct i40iw_device *iwdev)
spin_lock_init(&iwdev->resource_lock);
spin_lock_init(&iwdev->qptable_lock);
mrdrvbits = 24 - get_count_order(iwdev->max_mr);
/* stag index mask has a minimum of 14 bits */
mrdrvbits = 24 - max(get_count_order(iwdev->max_mr), 14);
iwdev->mr_stagmask = ~(((1 << mrdrvbits) - 1) << (32 - mrdrvbits));
return 0;
}