Message ID | 1488527831-53733-1-git-send-email-qi.hou@windriver.com |
---|---|
State | Accepted |
Headers | show |
On Fri, Mar 03, 2017 at 03:57:11PM +0800, 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(). > > Signe-off-by: Qi Hou <qi.hou@windriver.com> > Reviewed-by: Zhang Xiao <xiao.zhang@windriver.com> > Acked-by: Peter Rosin <peda@axentia.se> Applied to for-current, thanks!
On Thu, Mar 09, 2017 at 03:40:33PM +0100, Wolfram Sang wrote: > On Fri, Mar 03, 2017 at 03:57:11PM +0800, 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(). > > > > Signe-off-by: Qi Hou <qi.hou@windriver.com> > > Reviewed-by: Zhang Xiao <xiao.zhang@windriver.com> > > Acked-by: Peter Rosin <peda@axentia.se> > > Applied to for-current, thanks! For completeness, I reverted this patch and merged the fixed version from Peter instead. Thanks Peter for the heads up!
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); } }