aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-09-15 17:35:06 +0800
committerVinod Koul <vkoul@kernel.org>2022-09-20 11:56:38 +0530
commitc4c349be07aeec5f397a349046dc5fc0f2657691 (patch)
tree324389e3eb00adffc1a5b848ae187274ec3e3aed /drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
parentdt-bindings: phy: renesas,rcar-gen2-usb-phy: Convert to json-schema (diff)
downloadlinux-dev-c4c349be07aeec5f397a349046dc5fc0f2657691.tar.xz
linux-dev-c4c349be07aeec5f397a349046dc5fc0f2657691.zip
phy: amlogic: phy-meson-axg-mipi-pcie-analog: Hold reference returned by of_get_parent()
As the of_get_parent() will increase the refcount of the node->parent and the reference will be discarded, so we should hold the reference with which we can decrease the refcount when done. Fixes: 8eff8b4e22d9 ("phy: amlogic: phy-meson-axg-mipi-pcie-analog: add support for MIPI DSI analog") Signed-off-by: Liang He <windhl@126.com> Link: https://lore.kernel.org/r/20220915093506.4009456-1-windhl@126.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c')
-rw-r--r--drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c b/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
index 1027ece6ca12..a3e1108b736d 100644
--- a/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
+++ b/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c
@@ -197,7 +197,7 @@ static int phy_axg_mipi_pcie_analog_probe(struct platform_device *pdev)
struct phy_provider *phy;
struct device *dev = &pdev->dev;
struct phy_axg_mipi_pcie_analog_priv *priv;
- struct device_node *np = dev->of_node;
+ struct device_node *np = dev->of_node, *parent_np;
struct regmap *map;
int ret;
@@ -206,7 +206,9 @@ static int phy_axg_mipi_pcie_analog_probe(struct platform_device *pdev)
return -ENOMEM;
/* Get the hhi system controller node */
- map = syscon_node_to_regmap(of_get_parent(dev->of_node));
+ parent_np = of_get_parent(dev->of_node);
+ map = syscon_node_to_regmap(parent_np);
+ of_node_put(parent_np);
if (IS_ERR(map)) {
dev_err(dev,
"failed to get HHI regmap\n");