On Sun, May 14, 2017 at 06:41:13PM +0200, Peter Rosin wrote:
> As is, a failure message is printed unconditionally, which is confusing.
> And noisy.
>
> Fixes: 8d4d159f25a7 ("i2c: mux: provide more info on failure in 
> i2c_mux_add_adapter")
> Signed-off-by: Peter Rosin <p...@axentia.se>
> ---
>  drivers/i2c/i2c-mux.c | 24 ++++++++++++++----------
>  1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c
> index 26f7237558ba..ccf2ce1836c8 100644
> --- a/drivers/i2c/i2c-mux.c
> +++ b/drivers/i2c/i2c-mux.c
> @@ -395,18 +395,22 @@ int i2c_mux_add_adapter(struct i2c_mux_core *muxc,
>       if (force_nr) {
>               priv->adap.nr = force_nr;
>               ret = i2c_add_numbered_adapter(&priv->adap);
> -             dev_err(&parent->dev,
> -                     "failed to add mux-adapter %u as bus %u (error=%d)\n",
> -                     chan_id, force_nr, ret);
> +             if (ret < 0) {
> +                     dev_err(&parent->dev,
> +                             "failed to add mux-adapter %u as bus %u 
> (error=%d)\n",
> +                             chan_id, force_nr, ret);
> +                     kfree(priv);
> +                     return ret;
> +             }
>       } else {
>               ret = i2c_add_adapter(&priv->adap);
> -             dev_err(&parent->dev,
> -                     "failed to add mux-adapter %u (error=%d)\n",
> -                     chan_id, ret);
> -     }
> -     if (ret < 0) {
> -             kfree(priv);
> -             return ret;
> +             if (ret < 0) {
> +                     dev_err(&parent->dev,
> +                             "failed to add mux-adapter %u (error=%d)\n",
> +                             chan_id, ret);
> +                     kfree(priv);
> +                     return ret;

It is better to add goto label, this will give one place for kfree->return code.

Thanks

> +             }
>       }
>
>       WARN(sysfs_create_link(&priv->adap.dev.kobj, &muxc->dev->kobj,
> --
> 2.1.4
>

Attachment: signature.asc
Description: PGP signature

Reply via email to