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

Will Deacon <[email protected]> Sun, 2 Aug 2026 13:12:28 +0100
Newsgroups dev.linux.lists.iommu,org.infradead.lists.linux-arm-kernel
Message-ID <[email protected]>
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