[PATCH rc v1 3/4] iommu/arm-smmu-v3: Retain SMMUEN during kdump device reset

Tian, Kevin kevin.tian at intel.com
Thu Apr 9 23:21:43 PDT 2026


> From: Nicolin Chen <nicolinc at nvidia.com>
> Sent: Friday, April 10, 2026 3:47 AM
> 
>  	/* Clear CR0 and sync (disables SMMU and queue processing) */
>  	reg = readl_relaxed(smmu->base + ARM_SMMU_CR0);
>  	if (reg & CR0_SMMUEN) {
>  		dev_warn(smmu->dev, "SMMU currently enabled!
> Resetting...\n");

move to after the check of kdump kernel

> @@ -5038,6 +5064,11 @@ static int arm_smmu_device_reset(struct
> arm_smmu_device *smmu)
>  		return ret;
>  	}
> 
> +	/*
> +	 * Disable EVTQ and PRIQ in kdump kernel. The old kernel's CDs and
> page
> +	 * tables may be corrupted, which could trigger event spamming.
> PRIQ is
> +	 * also useless since we cannot service page requests during kdump.
> +	 */
>  	if (is_kdump_kernel())
>  		enables &= ~(CR0_EVTQEN | CR0_PRIQEN);
> 

then just don't enable them in earlier lines?



More information about the linux-arm-kernel mailing list