When I was removing the ND-specific IRP handling from the CEP manager I accidentally deleted the code that would free a pending get_event IRP. This would lead to the IRP being orphaned, and the cancel routine would fail to cancel the IRP since the associated CEP was freed.
This patch restores the missing lines. Signed-off-by: Fab Tillier <[email protected]> Index: core/al/kernel/al_cm_cep.c =================================================================== --- core/al/kernel/al_cm_cep.c (revision 2088) +++ core/al/kernel/al_cm_cep.c (working copy) @@ -4136,6 +4136,9 @@ al_destroy_cep( context = p_cep->context; pfn_destroy_cb = p_cep->pfn_destroy_cb; + /* Cancel any queued IRP */ + __cep_complete_irp( p_cep, STATUS_CANCELLED, IO_NO_INCREMENT ); + __unbind_cep( p_cep ); ref_cnt = __cleanup_cep( p_cep ); if( reusable )
cep_irp_leak.patch
Description: cep_irp_leak.patch
_______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
