Re: [PATCH] i2c: add missing of_node_put in i2c_mux_del_adapters

Peter Rosin
2017-03-03T10:31:55Z

On 2017-03-03 08:57, Qi Hou wrote:
> Refcount of of_node is increased with of_node_get() in i2c_mux_add_adapter().
> It must be decreased with of_node_put() in i2c_mux_del_adapters().

Oops, this one slipped though the cracks. Sorry about that!

> Signe-off-by: Qi Hou <qi.hou@windriver.com>

I fixed the above typo, added a Cc: stable tag and committed it to my
for-current branch.

Cheers,
peda

> Reviewed-by: Zhang Xiao <xiao.zhang@windriver.com>
> Acked-by: Peter Rosin <peda@axentia.se>
> ---
> drivers/i2c/i2c-mux.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c
> index 83768e8..2178266 100644
> --- a/drivers/i2c/i2c-mux.c
> +++ b/drivers/i2c/i2c-mux.c
> @@ -429,6 +429,7 @@ void i2c_mux_del_adapters(struct i2c_mux_core *muxc)
> while (muxc->num_adapters) {
> struct i2c_adapter *adap = muxc->adapter[--muxc->num_adapters];
> struct i2c_mux_priv *priv = adap->algo_data;
> + struct device_node *np = adap->dev.of_node;
>
> muxc->adapter[muxc->num_adapters] = NULL;
>
> @@ -438,6 +439,7 @@ void i2c_mux_del_adapters(struct i2c_mux_core *muxc)
>
> sysfs_remove_link(&priv->adap.dev.kobj, "mux_device");
> i2c_del_adapter(adap);
> + of_node_put(np);
> kfree(priv);
> }
> }
>