Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 320000e7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'iommu-fixes-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

Pull iommu fixes from Joerg Roedel:

 - Follow-on fix for Renesas IPMMU to get rid of a redundant error
   message.

 - Quirk for AMD IOMMU to make it work on another Acer Laptop model with
   a broken IVRS ACPI table.

 - Fix for a panic at kdump in the Intel IOMMU driver.

* tag 'iommu-fixes-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
  iommu/vt-d: Fix panic after kexec -p for kdump
  iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41
  iommu/ipmmu-vmsa: Remove dev_err() on platform_get_irq() failure
parents b66b4498 160c63f9
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -73,6 +73,19 @@ static const struct dmi_system_id ivrs_quirks[] __initconst = {
		},
		.driver_data = (void *)&ivrs_ioapic_quirks[DELL_LATITUDE_5495],
	},
	{
		/*
		 * Acer Aspire A315-41 requires the very same workaround as
		 * Dell Latitude 5495
		 */
		.callback = ivrs_ioapic_quirk_cb,
		.ident = "Acer Aspire A315-41",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A315-41"),
		},
		.driver_data = (void *)&ivrs_ioapic_quirks[DELL_LATITUDE_5495],
	},
	{
		.callback = ivrs_ioapic_quirk_cb,
		.ident = "Lenovo ideapad 330S-15ARR",
+1 −1
Original line number Diff line number Diff line
@@ -2794,7 +2794,7 @@ static int identity_mapping(struct device *dev)
	struct device_domain_info *info;

	info = dev->archdata.iommu;
	if (info && info != DUMMY_DEVICE_DOMAIN_INFO)
	if (info && info != DUMMY_DEVICE_DOMAIN_INFO && info != DEFER_DEVICE_DOMAIN_INFO)
		return (info->domain == si_domain);

	return 0;
+1 −3
Original line number Diff line number Diff line
@@ -1105,10 +1105,8 @@ static int ipmmu_probe(struct platform_device *pdev)
	/* Root devices have mandatory IRQs */
	if (ipmmu_is_root(mmu)) {
		irq = platform_get_irq(pdev, 0);
		if (irq < 0) {
			dev_err(&pdev->dev, "no IRQ found\n");
		if (irq < 0)
			return irq;
		}

		ret = devm_request_irq(&pdev->dev, irq, ipmmu_irq, 0,
				       dev_name(&pdev->dev), mmu);