A driver-supplied Cancel routine is called with the cancel spin lock held, it must be released on IRP completion.

This was inverted in mouclass. Fix by Samuel Serapión.

svn path=/trunk/; revision=33089
This commit is contained in:
Andrew Munger 2008-04-21 12:10:55 +00:00
parent 659ebcce5b
commit c4db2ba2dc

View file

@ -705,8 +705,10 @@ ClassCancelRoutine(
ASSERT(ClassDeviceExtension->Common.IsClassDO);
IoReleaseCancelSpinLock(Irp->CancelIrql);
KeAcquireSpinLock(&ClassDeviceExtension->SpinLock, &OldIrql);
IoAcquireCancelSpinLock(&OldIrql);
if (ClassDeviceExtension->PendingIrp == Irp)
{
ClassDeviceExtension->PendingIrp = NULL;