Whamcloud - gitweb
LU-11756 o2iblnd: kib_conn leak
[fs/lustre-release.git] / lnet / klnds / o2iblnd / o2iblnd.c
index 0ccc0e9..09ed638 100644 (file)
@@ -822,6 +822,7 @@ kiblnd_create_conn(struct kib_peer_ni *peer_ni, struct rdma_cm_id *cmid,
        INIT_LIST_HEAD(&conn->ibc_tx_queue_rsrvd);
        INIT_LIST_HEAD(&conn->ibc_tx_queue_nocred);
        INIT_LIST_HEAD(&conn->ibc_active_txs);
+       INIT_LIST_HEAD(&conn->ibc_zombie_txs);
        spin_lock_init(&conn->ibc_lock);
 
        LIBCFS_CPT_ALLOC(conn->ibc_connvars, lnet_cpt_table(), cpt,
@@ -1039,6 +1040,9 @@ kiblnd_destroy_conn(struct kib_conn *conn)
                        CWARN("Error destroying CQ: %d\n", rc);
        }
 
+       kiblnd_txlist_done(&conn->ibc_zombie_txs, -ECONNABORTED,
+                          LNET_MSG_STATUS_OK);
+
        if (conn->ibc_rx_pages != NULL)
                kiblnd_unmap_rx_descs(conn);