diff options
| author | Felix Gu <ustc.gu@gmail.com> | 2026-01-26 20:30:07 +0300 |
|---|---|---|
| committer | Linus Walleij <linusw@kernel.org> | 2026-01-28 10:56:35 +0300 |
| commit | c0b4a4feeb43305a754893d8d9c6b2b5a52d45ac (patch) | |
| tree | 4350aaf821d26d26046012155b070eea86f4e9ce | |
| parent | ebd2f48dff6ae15bc1cbc7c7ae3c5fe10ad08087 (diff) | |
| download | linux-c0b4a4feeb43305a754893d8d9c6b2b5a52d45ac.tar.xz | |
pinctrl: equilibrium: Fix device node reference leak in pinbank_init()
When calling of_parse_phandle_with_fixed_args(), the caller is
responsible to call of_node_put() to release the reference of device
node.
In pinbank_init(), the reference of the node obtained from the
"gpio-ranges" property is never released, resulting in a reference
count leak.
Add the missing of_node_put() call to fix the leak.
Fixes: 1948d5c51dba ("pinctrl: Add pinmux & GPIO controller driver for a new SoC")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
| -rw-r--r-- | drivers/pinctrl/pinctrl-equilibrium.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-equilibrium.c b/drivers/pinctrl/pinctrl-equilibrium.c index 2d04829b29c9..48b55c5bf8d4 100644 --- a/drivers/pinctrl/pinctrl-equilibrium.c +++ b/drivers/pinctrl/pinctrl-equilibrium.c @@ -846,6 +846,7 @@ static int pinbank_init(struct device_node *np, bank->pin_base = spec.args[1]; bank->nr_pins = spec.args[2]; + of_node_put(spec.np); bank->aval_pinmap = readl(bank->membase + REG_AVAIL); bank->id = id; |
