[USBPORT] Fix endless loop, occasionally happened on real hardware

This commit is contained in:
Victor Perevertkin 2019-08-01 21:17:44 +03:00
parent d9daaed325
commit fc14c095f5
No known key found for this signature in database
GPG key ID: C750B7222E9C7830

View file

@ -1261,7 +1261,7 @@ USBPORT_FlushController(IN PDEVICE_OBJECT FdoDevice)
PUSBPORT_DEVICE_EXTENSION FdoExtension;
PLIST_ENTRY Entry;
PUSBPORT_ENDPOINT Endpoint;
ULONG KilledTransfers = 0;
ULONG KilledTransfers;
PLIST_ENTRY EndpointList;
KIRQL OldIrql;
LIST_ENTRY FlushList;
@ -1301,6 +1301,7 @@ USBPORT_FlushController(IN PDEVICE_OBJECT FdoDevice)
KeReleaseSpinLock(&FdoExtension->EndpointListSpinLock, OldIrql);
KilledTransfers = 0;
while (!IsListEmpty(&FlushList))
{
Endpoint = CONTAINING_RECORD(FlushList.Flink,
@ -1355,7 +1356,7 @@ USBPORT_AbortEndpoint(IN PDEVICE_OBJECT FdoDevice,
IN PIRP Irp)
{
PLIST_ENTRY PendingList;
PUSBPORT_TRANSFER PendingTransfer;
PUSBPORT_TRANSFER PendingTransfer;
PLIST_ENTRY ActiveList;
PUSBPORT_TRANSFER ActiveTransfer;