https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e4e86c32e7f119a7cd10d8...
commit e4e86c32e7f119a7cd10d8dd44c7af889c35036e Author: Thomas Faber thomas.faber@reactos.org AuthorDate: Sat Feb 1 13:09:11 2020 +0100 Commit: Thomas Faber thomas.faber@reactos.org CommitDate: Sat Feb 8 13:07:34 2020 +0100
[PORTCLS] Handle failure return from QueryPowerChangeState. CORE-16611 --- drivers/wdm/audio/backpln/portcls/irp.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/wdm/audio/backpln/portcls/irp.cpp b/drivers/wdm/audio/backpln/portcls/irp.cpp index be4f008e655..8d775bfe493 100644 --- a/drivers/wdm/audio/backpln/portcls/irp.cpp +++ b/drivers/wdm/audio/backpln/portcls/irp.cpp @@ -267,8 +267,14 @@ PortClsPower( PowerState = IoStack->Parameters.Power.State; Status = DeviceExtension->AdapterPowerManagement->QueryPowerChangeState(PowerState);
- // sanity check - PC_ASSERT(Status == STATUS_SUCCESS); + if (!NT_SUCCESS(Status)) + { + // fail the IRP if the adapter power manager failed + PoStartNextPowerIrp(Irp); + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + return Status; + } }
// only forward query requests