diff mbox

[06/11] The HCA should not be closed until all resources have been released.

Message ID E3280858FA94444CA49D2BA02341C9835ECA1CC6@orsmsx506.amr.corp.intel.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Arlin Davis Oct. 16, 2009, 11:50 p.m. UTC
None
diff mbox

Patch

diff --git a/dapl/openib_ucm/device.c b/dapl/openib_ucm/device.c
index 90a044e..4f26e87 100644
--- a/dapl/openib_ucm/device.c
+++ b/dapl/openib_ucm/device.c
@@ -354,16 +354,17 @@  DAT_RETURN dapls_ib_close_hca(IN DAPL_HCA * hca_ptr)
 		}
 	}
 
+	dapl_os_lock_destroy(&hca_ptr->ib_trans.lock);
+	dapl_os_lock_destroy(&hca_ptr->ib_trans.llock);
+	destroy_cr_pipe(hca_ptr); /* no longer need pipe */
+	ucm_service_destroy(hca_ptr);
+
 	if (hca_ptr->ib_hca_handle != IB_INVALID_HANDLE) {
 		if (ibv_close_device(hca_ptr->ib_hca_handle))
 			return (dapl_convert_errno(errno, "ib_close_device"));
 		hca_ptr->ib_hca_handle = IB_INVALID_HANDLE;
 	}
 
-	dapl_os_lock_destroy(&hca_ptr->ib_trans.lock);
-	dapl_os_lock_destroy(&hca_ptr->ib_trans.llock);
-	destroy_cr_pipe(hca_ptr); /* no longer need pipe */
-	ucm_service_destroy(hca_ptr);
 	return (DAT_SUCCESS);
 }