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