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