Commit dc5421f9 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

server: Remove IRP from device queue before terminating async.

parent 101da2b5
...@@ -378,6 +378,9 @@ static void set_irp_result( struct irp_call *irp, unsigned int status, ...@@ -378,6 +378,9 @@ static void set_irp_result( struct irp_call *irp, unsigned int status,
iosb->out_size = min( iosb->out_size, out_size ); iosb->out_size = min( iosb->out_size, out_size );
if (iosb->out_size && !(iosb->out_data = memdup( out_data, iosb->out_size ))) if (iosb->out_size && !(iosb->out_data = memdup( out_data, iosb->out_size )))
iosb->out_size = 0; iosb->out_size = 0;
/* remove it from the device queue */
list_remove( &irp->dev_entry );
irp->file = NULL; irp->file = NULL;
if (irp->async) if (irp->async)
{ {
...@@ -388,8 +391,6 @@ static void set_irp_result( struct irp_call *irp, unsigned int status, ...@@ -388,8 +391,6 @@ static void set_irp_result( struct irp_call *irp, unsigned int status,
} }
wake_up( &irp->obj, 0 ); wake_up( &irp->obj, 0 );
/* remove it from the device queue */
list_remove( &irp->dev_entry );
release_object( irp ); /* no longer on the device queue */ release_object( irp ); /* no longer on the device queue */
release_object( file ); release_object( file );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment