projects
/
reactos.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
d9daaed
)
[USBPORT] Fix endless loop, occasionally happened on real hardware
author
Victor Perevertkin
<victor@perevertkin.ru>
Thu, 1 Aug 2019 18:17:44 +0000
(21:17 +0300)
committer
Victor Perevertkin
<victor@perevertkin.ru>
Mon, 19 Aug 2019 22:30:52 +0000
(
01:30
+0300)
drivers/usb/usbport/queue.c
patch
|
blob
|
history
diff --git
a/drivers/usb/usbport/queue.c
b/drivers/usb/usbport/queue.c
index
9635de1
..
df70e5f
100644
(file)
--- a/
drivers/usb/usbport/queue.c
+++ b/
drivers/usb/usbport/queue.c
@@
-1261,7
+1261,7
@@
USBPORT_FlushController(IN PDEVICE_OBJECT FdoDevice)
PUSBPORT_DEVICE_EXTENSION FdoExtension;
PLIST_ENTRY Entry;
PUSBPORT_ENDPOINT Endpoint;
PUSBPORT_DEVICE_EXTENSION FdoExtension;
PLIST_ENTRY Entry;
PUSBPORT_ENDPOINT Endpoint;
- ULONG KilledTransfers
= 0
;
+ ULONG KilledTransfers;
PLIST_ENTRY EndpointList;
KIRQL OldIrql;
LIST_ENTRY FlushList;
PLIST_ENTRY EndpointList;
KIRQL OldIrql;
LIST_ENTRY FlushList;
@@
-1301,6
+1301,7
@@
USBPORT_FlushController(IN PDEVICE_OBJECT FdoDevice)
KeReleaseSpinLock(&FdoExtension->EndpointListSpinLock, OldIrql);
KeReleaseSpinLock(&FdoExtension->EndpointListSpinLock, OldIrql);
+ KilledTransfers = 0;
while (!IsListEmpty(&FlushList))
{
Endpoint = CONTAINING_RECORD(FlushList.Flink,
while (!IsListEmpty(&FlushList))
{
Endpoint = CONTAINING_RECORD(FlushList.Flink,
@@
-1355,7
+1356,7
@@
USBPORT_AbortEndpoint(IN PDEVICE_OBJECT FdoDevice,
IN PIRP Irp)
{
PLIST_ENTRY PendingList;
IN PIRP Irp)
{
PLIST_ENTRY PendingList;
- PUSBPORT_TRANSFER PendingTransfer;
+ PUSBPORT_TRANSFER PendingTransfer;
PLIST_ENTRY ActiveList;
PUSBPORT_TRANSFER ActiveTransfer;
PLIST_ENTRY ActiveList;
PUSBPORT_TRANSFER ActiveTransfer;