From: Suthikulpanit, Suravee Date: Wed, 28 Oct 2015 22:50:52 +0000 (-0700) Subject: of/pci: Fix pci_get_host_bridge_device leak X-Git-Tag: v4.4-rc1~29^2~5^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=37efbe20fb19cee43d95b7ba9e54d5d0b00c0d67;p=karo-tx-linux.git of/pci: Fix pci_get_host_bridge_device leak In case of error, the current code return w/o calling pci_put_host_bridge_device. This patch fixes this. Signed-off-by: Suravee Suthikulpanit Acked-by: Bjorn Helgaas Reviewed-by: Hanjun Guo Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c index 5751dc5b6494..a2f510cc683b 100644 --- a/drivers/of/of_pci.c +++ b/drivers/of/of_pci.c @@ -129,10 +129,9 @@ void of_pci_dma_configure(struct pci_dev *pci_dev) struct device *dev = &pci_dev->dev; struct device *bridge = pci_get_host_bridge_device(pci_dev); - if (!bridge->parent) - return; + if (bridge->parent) + of_dma_configure(dev, bridge->parent->of_node); - of_dma_configure(dev, bridge->parent->of_node); pci_put_host_bridge_device(bridge); } EXPORT_SYMBOL_GPL(of_pci_dma_configure);