OSDN Git Service

RDMA/irdma: Do not hold qos mutex twice on QP resume
authorMustafa Ismail <mustafa.ismail@intel.com>
Tue, 19 Oct 2021 15:16:54 +0000 (10:16 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 19 Oct 2021 23:22:01 +0000 (20:22 -0300)
commit2dace185caa580720c7cd67fec9efc5ee26108ac
tree3adda638ff65580973b8f6049978b900b1f1250f
parentcc07b73ef11d11d4359fb104d0199b22451dd3d8
RDMA/irdma: Do not hold qos mutex twice on QP resume

When irdma_ws_add fails, irdma_ws_remove is used to cleanup the leaf node.
This lead to holding the qos mutex twice in the QP resume path. Fix this
by avoiding the call to irdma_ws_remove and unwinding the error in
irdma_ws_add. This skips the call to irdma_tc_in_use function which is not
needed in the error unwind cases.

Fixes: 3ae331c75128 ("RDMA/irdma: Add QoS definitions")
Link: https://lore.kernel.org/r/20211019151654.1943-2-shiraz.saleem@intel.com
Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/irdma/ws.c