[ofw] [PATCH] Cancel queued UAL_CEP_GET_REQ_CID IRPs when the CEP is destroyed
Sean Hefty
sean.hefty at intel.com
Mon Jun 30 15:45:38 PDT 2008
>+ while( !IsListEmpty( &p_cep->irp_que ) )
>+ {
>+ LIST_ENTRY* p_list_entry;
>+ IRP* p_irp;
>+
>+ // get IRP
>+ p_list_entry = RemoveHeadList( &p_cep->irp_que );
>+ p_irp = (PIRP)CONTAINING_RECORD( p_list_entry, IRP,
>Tail.Overlay.ListEntry );
>+
>+ // complete GetConnectionReq IRP
>+#pragma warning(push, 3)
>+ IoSetCancelRoutine( p_irp, NULL );
>+#pragma warning(pop)
>+
>+ p_irp->IoStatus.Information = 0;
>+ p_irp->IoStatus.Status = STATUS_CANCELLED;
>+ IoCompleteRequest( p_irp, IO_NETWORK_INCREMENT );
>+ }
This looks like a generic operation. Is this the only place in the code where a
queue of IRPs is canceled? If not, can a generic routine be used instead?
- Sean
More information about the ofw
mailing list