[DAPL2] DAPL Counters & 2.0.3 extensions to support counter retrieval.
[mirror/winof/.git] / ulp / dapl2 / dapl / common / dapl_lmr_free.c
index 5e7cefb..6d40c11 100644 (file)
@@ -62,6 +62,7 @@ dapl_lmr_free (
     IN DAT_LMR_HANDLE  lmr_handle )\r
 {\r
     DAPL_LMR           *lmr;\r
+    DAPL_PZ            *pz;\r
     DAT_RETURN         dat_status;\r
 \r
     dapl_dbg_log (DAPL_DBG_TYPE_API, "dapl_lmr_free (%p)\n", lmr_handle);\r
@@ -72,7 +73,10 @@ dapl_lmr_free (
        goto bail;\r
     }\r
 \r
-    lmr = (DAPL_LMR *) lmr_handle;\r
+    lmr = (DAPL_LMR *)lmr_handle;\r
+    pz = (DAPL_PZ *)lmr->param.pz_handle;\r
+    \r
+    DAPL_CNTR(pz->header.owner_ia, DCNT_IA_LMR_FREE);\r
 \r
     switch (lmr->param.mem_type)\r
     {\r
@@ -85,8 +89,6 @@ dapl_lmr_free (
        case DAT_MEM_TYPE_VIRTUAL:\r
        case DAT_MEM_TYPE_LMR:\r
        {\r
-           DAPL_PZ     *pz;\r
-\r
            if ( 0 != dapl_os_atomic_read (&lmr->lmr_ref_count) )\r
            {\r
                return DAT_INVALID_STATE;\r
@@ -103,10 +105,7 @@ dapl_lmr_free (
 \r
            if (dat_status == DAT_SUCCESS)\r
            {\r
-\r
-               pz = (DAPL_PZ *) lmr->param.pz_handle;\r
                dapl_os_atomic_dec (&pz->pz_ref_count);\r
-\r
                dapl_lmr_dealloc (lmr);\r
            }\r
            else\r