Commit 91565852 authored by Sunil V L's avatar Sunil V L Committed by Paul Walmsley
Browse files

ACPI: RIMT: Add dependency between iommu and devices



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: 8f772955 ("ACPI: RISC-V: Add support for RIMT")
Signed-off-by: default avatarSunil V L <sunilvl@oss.qualcomm.com>
Link: https://patch.msgid.link/20260303061605.722949-1-sunilvl@oss.qualcomm.com


Signed-off-by: default avatarPaul Walmsley <pjw@kernel.org>
parent 511361fe
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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);
}