USB: Cancel queued transfers before waiting for idle.

Otherwise, stuck transfers will cause us to hit the not-idle assertion.
Should fix #19180.
This commit is contained in:
Augustin Cavalier
2024-10-16 16:07:32 -04:00
parent 086f997e50
commit f21cc2bfb0
+3 -2
View File
@@ -21,9 +21,10 @@ Pipe::Pipe(Object *parent)
Pipe::~Pipe()
{
PutUSBID();
PutUSBID(false);
Pipe::CancelQueuedTransfers(true);
WaitForIdle();
GetBusManager()->NotifyPipeChange(this, USB_CHANGE_DESTROYED);
}