blob: 9b1aff5ecea466675a56f21e417f5d6156d2a0ac [file] [log] [blame]
From 8f40649339c2dc349c8598816c1efccabe965596 Mon Sep 17 00:00:00 2001
From: Rob Herring <robh@kernel.org>
Date: Mon, 7 Oct 2019 20:23:25 -0500
Subject: [PATCH] PCI: Fix missing bridge dma_ranges resource list cleanup
commit 7608158df3ed87a5c938c4a0b91f5b11101a9be1 upstream.
Commit e80a91ad302b ("PCI: Add dma_ranges window list") added a
dma_ranges resource list, but failed to correctly free the list when
devm_pci_alloc_host_bridge() is used.
Only the iproc host bridge driver is using the dma_ranges list.
Fixes: e80a91ad302b ("PCI: Add dma_ranges window list")
Link: https://lore.kernel.org/r/20191008012325.25700-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Srinath Mannam <srinath.mannam@broadcom.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 1910b3394d2c..3d3f05ed7c8f 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -577,6 +577,7 @@ static void devm_pci_release_host_bridge_dev(struct device *dev)
bridge->release_fn(bridge);
pci_free_resource_list(&bridge->windows);
+ pci_free_resource_list(&bridge->dma_ranges);
}
static void pci_release_host_bridge_dev(struct device *dev)
--
2.7.4