summaryrefslogtreecommitdiffstats
path: root/drivers/pci/controller/dwc/pci-layerscape.c
diff options
context:
space:
mode:
authorWen Yang <wen.yang99@zte.com.cn>2019-02-27 12:40:38 +0800
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2019-04-01 10:39:17 +0100
commitb35c0e4543945fe9b21e6ed9ab72cdb5efb30718 (patch)
tree5154313985b67ce46dc8fa1d20b98d8d868ae19e /drivers/pci/controller/dwc/pci-layerscape.c
parente12bfa013c0972dd94c2f849e05c87f5e1913e96 (diff)
downloadlinux-stable-b35c0e4543945fe9b21e6ed9ab72cdb5efb30718.tar.gz
linux-stable-b35c0e4543945fe9b21e6ed9ab72cdb5efb30718.tar.bz2
linux-stable-b35c0e4543945fe9b21e6ed9ab72cdb5efb30718.zip
PCI: dwc: layerscape: Fix a leaked reference by adding missing of_node_put()
The call to of_parse_phandle() returns a node pointer with refcount incremented thus it must be explicitly decremented after the last usage. Detected by coccinelle with the following warnings: ./drivers/pci/controller/dwc/pci-layerscape.c:204:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 198, but without a corresponding object release within this function. Signed-off-by: Wen Yang <wen.yang99@zte.com.cn> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Minghuan Lian <minghuan.Lian@nxp.com> Cc: Mingkai Hu <mingkai.hu@nxp.com> Cc: Roy Zang <roy.zang@nxp.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-pci@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org
Diffstat (limited to 'drivers/pci/controller/dwc/pci-layerscape.c')
-rw-r--r--drivers/pci/controller/dwc/pci-layerscape.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pci-layerscape.c b/drivers/pci/controller/dwc/pci-layerscape.c
index ce45bde29bf8..3a5fa26d5e56 100644
--- a/drivers/pci/controller/dwc/pci-layerscape.c
+++ b/drivers/pci/controller/dwc/pci-layerscape.c
@@ -201,6 +201,7 @@ static int ls_pcie_msi_host_init(struct pcie_port *pp)
return -EINVAL;
}
+ of_node_put(msi_node);
return 0;
}