RDMA/bnxt_re: Fixed the max_rd_atomic support for initiator and destination QP
authorEddie Wai <eddie.wai@broadcom.com>
Thu, 29 Jun 2017 19:28:13 +0000 (12:28 -0700)
committerDoug Ledford <dledford@redhat.com>
Thu, 20 Jul 2017 15:20:50 +0000 (11:20 -0400)
commita25d112fe9c8e8817cde1df17a82aee472c55993
tree644616f02fe039323fa385d82835b213bb4e42a4
parent58d4a671d0eac45db1c7f27c8684c277249ac127
RDMA/bnxt_re: Fixed the max_rd_atomic support for initiator and destination QP

There's a couple of bugs in the support of max_rd_atomic and
max_dest_rd_atomic. In the modify_qp, if the requested max_rd_atomic,
which is the ORRQ size, is greater than what the chip can support,
then we have to cap the request to chip max as we can't have the HW
overflow the ORRQ. Capping the max_rd_atomic support internally is okay
to do as the remaining read/atomic WRs will still be sitting in the SQ.
However, for the max_dest_rd_atomic, the driver has to error out as
this dictates the IRRQ size and we can't control what the remote
side sends.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/bnxt_re/ib_verbs.c