ACPI/IORT: fix build regression without IOMMU

Message ID 20170810121114.2509560-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann Aug. 10, 2017, 12:11 p.m.
A recent change reintroduced a bug that had previously been
fixed by commit d49f2dedf33b ("ACPI/IORT: Fix CONFIG_IOMMU_API
dependency"):

drivers/acpi/arm64/iort.c: In function 'iort_iommu_configure':
drivers/acpi/arm64/iort.c:829:26: error: 'struct iommu_fwspec' has no member named 'ops'

This does the same change again, replacing another direct
reference to iommu_fwspec->ops with a helper function call.

Fixes: bc8648d49a95 ("ACPI/IORT: Handle PCI aliases properly for IOMMUs")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/acpi/arm64/iort.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.9.0

Comments

Thorsten Leemhuis Aug. 28, 2017, 9:27 a.m. | #1
On 10.08.2017 16:24, Lorenzo Pieralisi wrote:
> On Thu, Aug 10, 2017 at 02:11:00PM +0200, Arnd Bergmann wrote:

>> A recent change reintroduced a bug that had previously been

>> fixed by commit d49f2dedf33b ("ACPI/IORT: Fix CONFIG_IOMMU_API

>> dependency"):

>>

>> drivers/acpi/arm64/iort.c: In function 'iort_iommu_configure':

>> drivers/acpi/arm64/iort.c:829:26: error: 'struct iommu_fwspec' has no member named 'ops'

>>

>> This does the same change again, replacing another direct

>> reference to iommu_fwspec->ops with a helper function call.

>>

>> Fixes: bc8648d49a95 ("ACPI/IORT: Handle PCI aliases properly for IOMMUs")

>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

>> ---

>>  drivers/acpi/arm64/iort.c | 2 +-

>>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> Sorry Arnd, thanks, I will send it to Catalin straight away.


Was there any progress? Afaics that patch hasn't hit mainline yet (or
was it fixed by a different patch?). Asking because the issue is
mentioned in the regression report for 4.13.

Ciao, Thorsten

Patch

diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
index 9cdd49289786..9565d572f8dd 100644
--- a/drivers/acpi/arm64/iort.c
+++ b/drivers/acpi/arm64/iort.c
@@ -826,7 +826,7 @@  const struct iommu_ops *iort_iommu_configure(struct device *dev)
 	 * add_device callback for dev, replay it to get things in order.
 	 */
 	if (!err) {
-		ops = dev->iommu_fwspec->ops;
+		ops = iort_fwspec_iommu_ops(dev->iommu_fwspec);
 		err = iort_add_device_replay(ops, dev);
 	}