]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ
authorTatyana Nikolova <tatyana.e.nikolova@intel.com>
Wed, 1 Dec 2021 23:15:09 +0000 (17:15 -0600)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 7 Dec 2021 17:53:01 +0000 (13:53 -0400)
commit7d225c99f1052d20c5038b457c0ac7f4faba0aa9
treeaa0fcafe6409bdc4ad053cbf861055dcfc7dd0d6
parent781abe39cae0d990336a353c93283d881c490f80
RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ

Completion events (CEs) are lost if the application is allowed to arm the
CQ more than two times when no new CE for this CQ has been generated by
the HW.

Check if arming has been done for the CQ and if not, arm the CQ for any
event otherwise promote to arm the CQ for any event only when the last arm
event was solicited.

Fixes: ec118db05224 ("RDMA/irdma: Implement device supported verb APIs")
Link: https://lore.kernel.org/r/20211201231509.1930-2-shiraz.saleem@intel.com
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/irdma/hw.c
drivers/infiniband/hw/irdma/main.h
drivers/infiniband/hw/irdma/utils.c
drivers/infiniband/hw/irdma/verbs.c
drivers/infiniband/hw/irdma/verbs.h