mirror of
https://github.com/reactos/reactos.git
synced 2025-04-30 11:08:51 +00:00
[USBPORT] Acquire EndpointSpinLock in addition to MiniportSpinLock in USBPORT_ReopenPipe.
This commit is contained in:
parent
e47240fb37
commit
1946f6bb25
1 changed files with 4 additions and 2 deletions
|
@ -1186,13 +1186,15 @@ USBPORT_ReopenPipe(IN PDEVICE_OBJECT FdoDevice,
|
||||||
USBPORT_Wait(FdoDevice, 1);
|
USBPORT_Wait(FdoDevice, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
KeAcquireSpinLock(&FdoExtension->MiniportSpinLock, &MiniportOldIrql);
|
KeAcquireSpinLock(&Endpoint->EndpointSpinLock, &Endpoint->EndpointOldIrql);
|
||||||
|
KeAcquireSpinLockAtDpcLevel(&FdoExtension->MiniportSpinLock);
|
||||||
|
|
||||||
Packet->SetEndpointState(FdoExtension->MiniPortExt,
|
Packet->SetEndpointState(FdoExtension->MiniPortExt,
|
||||||
Endpoint + 1,
|
Endpoint + 1,
|
||||||
USBPORT_ENDPOINT_REMOVE);
|
USBPORT_ENDPOINT_REMOVE);
|
||||||
|
|
||||||
KeReleaseSpinLock(&FdoExtension->MiniportSpinLock, MiniportOldIrql);
|
KeReleaseSpinLockFromDpcLevel(&FdoExtension->MiniportSpinLock);
|
||||||
|
KeReleaseSpinLock(&Endpoint->EndpointSpinLock, Endpoint->EndpointOldIrql);
|
||||||
|
|
||||||
USBPORT_Wait(FdoDevice, 2);
|
USBPORT_Wait(FdoDevice, 2);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue