Bläddra i källkod

iw_cxgb4: correctly enforce the max reg_mr depth

The code was mistakenly using the length of the page array memory instead
of the depth of the page array.

This would cause MR creation to fail in some cases.

Fixes: 8376b86de7d3 ("iw_cxgb4: Support the new memory registration API")
Cc: stable@vger.kernel.org
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Steve Wise 7 år sedan
förälder
incheckning
7b72717a20
1 ändrade filer med 1 tillägg och 1 borttagningar
  1. 1 1
      drivers/infiniband/hw/cxgb4/mem.c

+ 1 - 1
drivers/infiniband/hw/cxgb4/mem.c

@@ -774,7 +774,7 @@ static int c4iw_set_page(struct ib_mr *ibmr, u64 addr)
 {
 {
 	struct c4iw_mr *mhp = to_c4iw_mr(ibmr);
 	struct c4iw_mr *mhp = to_c4iw_mr(ibmr);
 
 
-	if (unlikely(mhp->mpl_len == mhp->max_mpl_len))
+	if (unlikely(mhp->mpl_len == mhp->attr.pbl_size))
 		return -ENOMEM;
 		return -ENOMEM;
 
 
 	mhp->mpl[mhp->mpl_len++] = addr;
 	mhp->mpl[mhp->mpl_len++] = addr;