[IBAL] Correct connection issues and lost IRPs (Xombie procs) introduced in svn.2079...
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 23 Apr 2009 16:17:15 +0000 (16:17 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 23 Apr 2009 16:17:15 +0000 (16:17 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2117 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

core/al/kernel/al_cm_cep.c
core/al/kernel/al_proxy_cep.c
core/al/user/ual_cm_cep.c
inc/iba/ib_al_ioctl.h

index 5541033..f79edec 100644 (file)
@@ -4136,6 +4136,9 @@ al_destroy_cep(
        context = p_cep->context;\r
        pfn_destroy_cb = p_cep->pfn_destroy_cb;\r
 \r
+       /* Cancel any queued IRP */\r
+       __cep_complete_irp( p_cep, STATUS_CANCELLED, IO_NO_INCREMENT );\r
+\r
        __unbind_cep( p_cep );\r
        ref_cnt = __cleanup_cep( p_cep );\r
     if( reusable )\r
index 86b39c9..6602966 100644 (file)
@@ -763,6 +763,7 @@ proxy_cep_poll(
        al_dev_open_context_t           *p_context;\r
        ual_cep_poll_ioctl_t            *p_ioctl;\r
        ib_mad_element_t                        *p_mad = NULL;\r
+       void*                                           dummy;\r
 \r
        AL_ENTER( AL_DBG_CM );\r
 \r
@@ -781,7 +782,7 @@ proxy_cep_poll(
 \r
        p_ioctl->status = al_cep_poll( p_context->h_al,\r
                *(net32_t*)cl_ioctl_in_buf( h_ioctl ),\r
-               &(void*)(ULONG_PTR)p_ioctl->context,\r
+               &dummy,\r
                &p_ioctl->new_cid, &p_mad );\r
 \r
        if( p_ioctl->status == IB_SUCCESS )\r
index cd1a0e6..5cfc9c1 100644 (file)
@@ -1403,7 +1403,7 @@ al_cep_poll(
                \r
                cl_memcpy( p_mad->p_mad_buf, ioctl.mad_buf, MAD_BLOCK_SIZE );\r
 \r
-               *p_context = (void*)(ULONG_PTR)ioctl.context;\r
+               *p_context = p_cep->destroy_context;\r
                *p_new_cid = ioctl.new_cid;\r
                *pp_mad = p_mad;\r
        }\r
index 0884779..c94f562 100644 (file)
@@ -3053,7 +3053,6 @@ typedef struct _ual_cep_get_timewait_ioctl
 typedef struct _ual_cep_poll_ioctl\r
 {\r
        ib_api_status_t                         status;\r
-       uint64_t                                        context;\r
        net32_t                                         new_cid;\r
        ib_mad_element_t                        element;\r
        ib_grh_t                                        grh;\r