diff --git a/arch/arm64/kvm/hyp/nvhe/iommu.c b/arch/arm64/kvm/hyp/nvhe/iommu.c index 9b659abc7957..2fed6433e065 100644 --- a/arch/arm64/kvm/hyp/nvhe/iommu.c +++ b/arch/arm64/kvm/hyp/nvhe/iommu.c @@ -360,10 +360,12 @@ int __pkvm_iommu_pm_notify(unsigned long dev_id, enum pkvm_iommu_pm_event event) if (dev) { if (event == PKVM_IOMMU_PM_SUSPEND) { ret = dev->ops->suspend ? dev->ops->suspend(dev) : 0; - dev->powered = !!ret; + if (!ret) + dev->powered = false; } else if (event == PKVM_IOMMU_PM_RESUME) { ret = dev->ops->resume ? dev->ops->resume(dev) : 0; - dev->powered = !ret; + if (!ret) + dev->powered = true; } else { ret = -EINVAL; }