[PATCH] ACPI: RIMT: Add dependency between iommu and devices

Sunil V L posted 1 patch 1 month, 1 week ago
drivers/acpi/riscv/rimt.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH] ACPI: RIMT: Add dependency between iommu and devices
Posted by Sunil V L 1 month, 1 week ago
From: Sunil V L <sunilvl@oss.qualcomm.com>

EPROBE_DEFER ensures IOMMU devices are probed before the devices that
depend on them. During shutdown, however, the IOMMU may be removed
first, leading to issues. To avoid this, a device link is added
which enforces the correct removal order.

Fixes: 8f7729552582 ("ACPI: RISC-V: Add support for RIMT")
Signed-off-by: Sunil V L <sunilvl@oss.qualcomm.com>
---
 drivers/acpi/riscv/rimt.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/acpi/riscv/rimt.c b/drivers/acpi/riscv/rimt.c
index 7f423405e5ef..8eaa8731bddd 100644
--- a/drivers/acpi/riscv/rimt.c
+++ b/drivers/acpi/riscv/rimt.c
@@ -263,6 +263,13 @@ static int rimt_iommu_xlate(struct device *dev, struct acpi_rimt_node *node, u32
 	if (!rimt_fwnode)
 		return -EPROBE_DEFER;
 
+	/*
+	 * EPROBE_DEFER ensures IOMMU is probed before the devices that
+	 * depend on them. During shutdown, however, the IOMMU may be removed
+	 * first, leading to issues. To avoid this, a device link is added
+	 * which enforces the correct removal order.
+	 */
+	device_link_add(dev, rimt_fwnode->dev, DL_FLAG_AUTOREMOVE_CONSUMER);
 	return acpi_iommu_fwspec_init(dev, deviceid, rimt_fwnode);
 }
 
-- 
2.43.0
Re: [PATCH] ACPI: RIMT: Add dependency between iommu and devices
Posted by Paul Walmsley 2 weeks, 1 day ago
On Tue, 3 Mar 2026, Sunil V L wrote:

> From: Sunil V L <sunilvl@oss.qualcomm.com>
> 
> EPROBE_DEFER ensures IOMMU devices are probed before the devices that
> depend on them. During shutdown, however, the IOMMU may be removed
> first, leading to issues. To avoid this, a device link is added
> which enforces the correct removal order.
> 
> Fixes: 8f7729552582 ("ACPI: RISC-V: Add support for RIMT")
> Signed-off-by: Sunil V L <sunilvl@oss.qualcomm.com>

Thanks, queued for v7.0-rc.  Something that would be helpful in the 
future, by the way, is if you would describe the issues observed in 
greater detail. 


- Paul