[PATCH] iommu/arm-smmu-v3: Convert to use atomic poll timeout

Will Deacon will at kernel.org
Sun Aug 2 05:12:28 PDT 2026


On Tue, 28 Jul 2026 21:11:23 +0000, Pranjal Shrivastava wrote:
> The arm_smmu_write_reg_sync() helper is currently implemented using
> readl_relaxed_poll_timeout() (that relies on usleep_range() internally)
> which becomes a critical issue when used in the gerror irq handler.
> 
> If the SMMU hits a gerror and enters Service Failure Mode
> (GERROR_SFM_ERR), the gerror handler calls arm_smmu_device_disable() in
> hard-irq context. This becomes a problem as arm_smmu_device_disable()
> inevitably calls arm_smmu_write_reg_sync() which might attempt to sleep
> inside a hard-irq context.
> 
> [...]

Applied to iommu (arm/smmu/updates), thanks!

[1/1] iommu/arm-smmu-v3: Convert to use atomic poll timeout
      https://git.kernel.org/iommu/c/eced8058c82a

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev



More information about the linux-arm-kernel mailing list