IB/hfi1: Remove WARN_ON when freeing expected receive groups
authorKaike Wan <kaike.wan@intel.com>
Mon, 18 Mar 2019 16:59:00 +0000 (09:59 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 3 Apr 2019 18:27:30 +0000 (15:27 -0300)
When PSM user receive context is freed, the expected receive groups
allocated by the receive context will also been freed. However, if there
are still TID entries in use, the receive groups rcd->tid_full_list or
rcd->tid_used_list will not be empty, and thus triggering the WARN_ONs in
the function hfi1_free_ctxt_rcv_groups().  Even if the two lists may not
be empty, the hfi1 driver will free all TID entries and receive groups
associated with the receive context to prevent any resource leakage. Since
a clean user application exit is not controlled by the hfi1 driver, this
patch will remove the WARN_ONs in hfi1_free_ctxt_rcv_groups().

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hfi1/exp_rcv.c

index 1be49a0d9c11a44a41169b8a8e38c33b0700c247..e9d5cc8b771a2227ab27b711e8b9d82b323eef6a 100644 (file)
@@ -112,9 +112,6 @@ int hfi1_alloc_ctxt_rcv_groups(struct hfi1_ctxtdata *rcd)
  */
 void hfi1_free_ctxt_rcv_groups(struct hfi1_ctxtdata *rcd)
 {
-       WARN_ON(!EXP_TID_SET_EMPTY(rcd->tid_full_list));
-       WARN_ON(!EXP_TID_SET_EMPTY(rcd->tid_used_list));
-
        kfree(rcd->groups);
        rcd->groups = NULL;
        hfi1_exp_tid_group_init(rcd);