4.10-stable review patch. If anyone has any objections, please let me know. ------------------ From: Qi Hou <qi.hou@xxxxxxxxxxxxx> commit 2e1e4949f9dfb053122785cd73540bb1e61f768b upstream. 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(). Signed-off-by: Qi Hou <qi.hou@xxxxxxxxxxxxx> Reviewed-by: Zhang Xiao <xiao.zhang@xxxxxxxxxxxxx> Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/i2c/i2c-mux.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c @@ -429,6 +429,7 @@ void i2c_mux_del_adapters(struct i2c_mux 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 sysfs_remove_link(&priv->adap.dev.kobj, "mux_device"); i2c_del_adapter(adap); + of_node_put(np); kfree(priv); } }