mirror of
https://github.com/reactos/reactos.git
synced 2025-06-09 03:10:18 +00:00
[USBSTOR]
- Fix a bug in SRB queuing svn path=/branches/usb-bringup-trunk/; revision=55166
This commit is contained in:
parent
e3d0e34a18
commit
6fab1a7c6a
1 changed files with 7 additions and 0 deletions
|
@ -142,6 +142,8 @@ USBSTOR_QueueAddIrp(
|
||||||
PFDO_DEVICE_EXTENSION FDODeviceExtension;
|
PFDO_DEVICE_EXTENSION FDODeviceExtension;
|
||||||
BOOLEAN IrpListFreeze;
|
BOOLEAN IrpListFreeze;
|
||||||
BOOLEAN SrbProcessing;
|
BOOLEAN SrbProcessing;
|
||||||
|
PIO_STACK_LOCATION IoStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
PSCSI_REQUEST_BLOCK Request = (PSCSI_REQUEST_BLOCK)IoStack->Parameters.Others.Argument1;
|
||||||
|
|
||||||
//
|
//
|
||||||
// get FDO device extension
|
// get FDO device extension
|
||||||
|
@ -201,10 +203,15 @@ USBSTOR_QueueAddIrp(
|
||||||
//
|
//
|
||||||
if (SrbProcessing)
|
if (SrbProcessing)
|
||||||
{
|
{
|
||||||
|
ASSERT(FDODeviceExtension->ActiveSrb != NULL);
|
||||||
|
|
||||||
OldDriverCancel = IoSetCancelRoutine(Irp, USBSTOR_Cancel);
|
OldDriverCancel = IoSetCancelRoutine(Irp, USBSTOR_Cancel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
ASSERT(FDODeviceExtension->ActiveSrb == NULL);
|
||||||
|
|
||||||
|
FDODeviceExtension->ActiveSrb = Request;
|
||||||
OldDriverCancel = IoSetCancelRoutine(Irp, USBSTOR_CancelIo);
|
OldDriverCancel = IoSetCancelRoutine(Irp, USBSTOR_CancelIo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue