[ofw] [PATCH] Always mark IRPs pending if returning STATUS_PENDING

Fab Tillier ftillier at windows.microsoft.com
Tue Jul 8 17:16:02 PDT 2008


This patch fixes a bug in the ND proxy where an IOCTL handler would return STATUS_PENDING without marking the IRP pending.

Signed-off-by: Fab Tillier <ftillier at microsoft.com>

diff -up -r -X trunk\docs\dontdiff.txt -I \$Id: old\core\al\kernel\al_ndi_cm.c trunk\core\al\kernel\al_ndi_cm.c
--- old\core\al\kernel\al_ndi_cm.c      Tue Jul 08 17:13:45 2008
+++ trunk\core\al\kernel\al_ndi_cm.c    Tue Jul 08 17:13:00 2008
@@ -1341,11 +1341,11 @@ ndi_rtu_cm(
        p_irp->Tail.Overlay.DriverContext[1] = IoAllocateWorkItem( p_io_stack->DeviceObject );
        ref_al_obj( &h_qp->obj ); /* Take IRP reference. */

+       IoMarkIrpPending( p_irp );
        if ( p_irp->Tail.Overlay.DriverContext[1] )
        { /* asyncronous performing */
                /* take a ref to prevent QP destroy before calling work item */
                ref_al_obj( &h_qp->obj ); /* Take work item reference. */
-               IoMarkIrpPending( p_irp );
                IoQueueWorkItem( p_irp->Tail.Overlay.DriverContext[1],
                        __ndi_do_rtu, DelayedWorkQueue, p_irp );
        }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mark_irp_pending.patch
Type: application/octet-stream
Size: 804 bytes
Desc: mark_irp_pending.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080708/01a87a94/attachment.obj>


More information about the ofw mailing list