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:
@@ -21,9 +21,10 @@ Pipe::Pipe(Object *parent)
|
||||
|
||||
Pipe::~Pipe()
|
||||
{
|
||||
PutUSBID();
|
||||
|
||||
PutUSBID(false);
|
||||
Pipe::CancelQueuedTransfers(true);
|
||||
WaitForIdle();
|
||||
|
||||
GetBusManager()->NotifyPipeChange(this, USB_CHANGE_DESTROYED);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user