RDMA/bnxt_re: Fix Send Work Entry state check while polling completions
authorSelvin Xavier <selvin.xavier@broadcom.com>
Mon, 25 Nov 2019 08:39:30 +0000 (00:39 -0800)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 3 Jan 2020 19:27:22 +0000 (15:27 -0400)
commitc5275723580922e5f3264f96751337661a153c7d
tree7d86eefa3ce36cb91f9ba7909158c02e7516636b
parent9a4467a6b282a299b932608ac2c9034f8415359f
RDMA/bnxt_re: Fix Send Work Entry state check while polling completions

Some adapters need a fence Work Entry to handle retransmission.  Currently
the driver checks for this condition, only if the Send queue entry is
signalled. Implement the condition check, irrespective of the signalled
state of the Work queue entries

Failure to add the fence can result in access to memory that is already
marked as completed, triggering data corruption, transmission failure,
IOMMU failures, etc.

Fixes: 9152e0b722b2 ("RDMA/bnxt_re: HW workarounds for handling specific conditions")
Link: https://lore.kernel.org/r/1574671174-5064-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/bnxt_re/qplib_fp.c