diff mbox

i2c: mux: only print failure message on error

Message ID 1494780073-13713-1-git-send-email-peda@axentia.se
State Superseded
Headers show

Commit Message

Peter Rosin May 14, 2017, 4:41 p.m. UTC
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 <peda@axentia.se>
---
 drivers/i2c/i2c-mux.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

Comments

Leon Romanovsky May 15, 2017, 4:53 a.m. UTC | #1
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 <peda@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
>
Peter Rosin May 15, 2017, 6:59 a.m. UTC | #2
On 2017-05-15 06:53, Leon Romanovsky wrote:
> 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 <peda@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.

I guess that can be argued, but it's going to end up being more lines. Whatever,
I'll just repaint the shed. v2 coming up.

Cheers,
peda

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;
+		}
 	}
 
 	WARN(sysfs_create_link(&priv->adap.dev.kobj, &muxc->dev->kobj,