RDMA/bnxt_re: Fix FRMR issue with single page MR allocation
authorSelvin Xavier <selvin.xavier@broadcom.com>
Wed, 15 Sep 2021 12:32:39 +0000 (05:32 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 20 Sep 2021 16:37:02 +0000 (13:37 -0300)
commit2b4ccce6cafae8eff0daec06b7652d9ab75f692f
tree81429704fb514bd37488b8499232db82fcbc5f81
parent598d16fa1bf93431ad35bbab3ed1affe4fb7b562
RDMA/bnxt_re: Fix FRMR issue with single page MR allocation

When the FRMR is allocated with single page, driver is attempting to
create a level 0 HWQ and not allocating any page because the nopte field
is set. This causes the crash during post_send as the pbl is not
populated.

To avoid this crash, check for the nopte bit during HWQ creation with
single page and create a level 1 page table and populate the pbl address
correctly.

Link: https://lore.kernel.org/r/1631709163-2287-9-git-send-email-selvin.xavier@broadcom.com
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/bnxt_re/qplib_res.c