| From b5a4e221b098174f0a302c4fb473e399639fbcf6 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 22 Jul 2020 17:44:28 +0800 |
| Subject: PCI: Release IVRS table in AMD ACS quirk |
| |
| From: Hanjun Guo <guohanjun@huawei.com> |
| |
| [ Upstream commit 090688fa4e448284aaa16136372397d7d10814db ] |
| |
| The acpi_get_table() should be coupled with acpi_put_table() if the mapped |
| table is not used at runtime to release the table mapping. |
| |
| In pci_quirk_amd_sb_acs(), IVRS table is just used for checking AMD IOMMU |
| is supported, not used at runtime, so put the table after using it. |
| |
| Fixes: 15b100dfd1c9 ("PCI: Claim ACS support for AMD southbridge devices") |
| Link: https://lore.kernel.org/r/1595411068-15440-1-git-send-email-guohanjun@huawei.com |
| Signed-off-by: Hanjun Guo <guohanjun@huawei.com> |
| Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/pci/quirks.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c |
| index cd522dd3dd585..5622603d96d4e 100644 |
| --- a/drivers/pci/quirks.c |
| +++ b/drivers/pci/quirks.c |
| @@ -4422,6 +4422,8 @@ static int pci_quirk_amd_sb_acs(struct pci_dev *dev, u16 acs_flags) |
| if (ACPI_FAILURE(status)) |
| return -ENODEV; |
| |
| + acpi_put_table(header); |
| + |
| /* Filter out flags not applicable to multifunction */ |
| acs_flags &= (PCI_ACS_RR | PCI_ACS_CR | PCI_ACS_EC | PCI_ACS_DT); |
| |
| -- |
| 2.25.1 |
| |