[USBSTOR]

- Fix a bug in SRB queuing

svn path=/branches/usb-bringup-trunk/; revision=55166
This commit is contained in:
Cameron Gutman 2012-01-25 01:46:35 +00:00
parent e3d0e34a18
commit 6fab1a7c6a

View file

@ -142,6 +142,8 @@ USBSTOR_QueueAddIrp(
PFDO_DEVICE_EXTENSION FDODeviceExtension;
BOOLEAN IrpListFreeze;
BOOLEAN SrbProcessing;
PIO_STACK_LOCATION IoStack = IoGetCurrentIrpStackLocation(Irp);
PSCSI_REQUEST_BLOCK Request = (PSCSI_REQUEST_BLOCK)IoStack->Parameters.Others.Argument1;
//
// get FDO device extension
@ -201,10 +203,15 @@ USBSTOR_QueueAddIrp(
//
if (SrbProcessing)
{
ASSERT(FDODeviceExtension->ActiveSrb != NULL);
OldDriverCancel = IoSetCancelRoutine(Irp, USBSTOR_Cancel);
}
else
{
ASSERT(FDODeviceExtension->ActiveSrb == NULL);
FDODeviceExtension->ActiveSrb = Request;
OldDriverCancel = IoSetCancelRoutine(Irp, USBSTOR_CancelIo);
}