Author: navaraf Date: Sun May 11 04:47:57 2008 New Revision: 33429
URL: http://svn.reactos.org/svn/reactos?rev=33429&view=rev Log: A driver-supplied Cancel routine is called with the cancel spin lock held, it must be released on IRP completion. Patch by R.T.Sivakumar rtshiva@gmail.com.
Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.c
Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/kbdclass/kbdc... ============================================================================== --- trunk/reactos/drivers/input/kbdclass/kbdclass.c [iso-8859-1] (original) +++ trunk/reactos/drivers/input/kbdclass/kbdclass.c [iso-8859-1] Sun May 11 04:47:57 2008 @@ -729,8 +729,8 @@
ASSERT(ClassDeviceExtension->Common.IsClassDO);
+ IoReleaseCancelSpinLock(Irp->CancelIrql); KeAcquireSpinLock(&ClassDeviceExtension->SpinLock, &OldIrql); - IoAcquireCancelSpinLock(&OldIrql); if (ClassDeviceExtension->PendingIrp == Irp) { ClassDeviceExtension->PendingIrp = NULL;