Re: [PATCH 1/8] iommu/qcom: Fix inverted fault report check in qcom_iommu_fault()

From: Konrad Dybcio

Date: Tue Jun 23 2026 - 12:05:27 EST


On 6/23/26 2:20 PM, Mukesh Ojha wrote:
> report_iommu_fault() returns 0 when a fault handler successfully handles
> the fault, and -ENOSYS when no handler is installed. The condition
> '!report_iommu_fault()' evaluates to true (printing "Unhandled context
> fault") precisely when the fault *was* handled, and stays silent when no
> handler is present — the opposite of what is intended.
>
> Remove the '!' so the driver logs unhandled faults correctly.
>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@xxxxxxxxxxxxxxxx>
> ---
> drivers/iommu/arm/arm-smmu/qcom_iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/arm-smmu/qcom_iommu.c
> index 32efef69e72d..09f2ee6be988 100644
> --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c
> +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c
> @@ -200,7 +200,7 @@ static irqreturn_t qcom_iommu_fault(int irq, void *dev)
> fsynr = iommu_readl(ctx, ARM_SMMU_CB_FSYNR0);
> iova = iommu_readq(ctx, ARM_SMMU_CB_FAR);
>
> - if (!report_iommu_fault(ctx->domain, ctx->dev, iova, 0)) {
> + if (report_iommu_fault(ctx->domain, ctx->dev, iova, 0)) {

Absolutely hilarious

Fixes: 049541e178d5 ("iommu: qcom: wire up fault handler")
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>

Konrad

> dev_err_ratelimited(ctx->dev,
> "Unhandled context fault: fsr=0x%x, "
> "iova=0x%016llx, fsynr=0x%x, cb=%d\n",