public inbox for linux-hwmon@vger.kernel.org
 help / color / mirror / Atom feed
From: walter harms <wharms@bfs.de>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Dan Carpenter <dan.carpenter@oracle.com>,
	Samuel Mendoza-Jonas <sam@mendozajonas.com>,
	Jean Delvare <jdelvare@suse.com>,
	linux-hwmon@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH] hwmon: (pmbus) Add missing break statements
Date: Thu, 04 May 2017 16:36:04 +0200	[thread overview]
Message-ID: <590B3C54.1060700@bfs.de> (raw)
In-Reply-To: <d0dd78fd-5c40-180f-aa48-000cfe6c0674@roeck-us.net>



Am 04.05.2017 15:42, schrieb Guenter Roeck:
> On 05/04/2017 12:31 AM, Dan Carpenter wrote:
>> On Thu, May 04, 2017 at 09:28:19AM +0200, walter harms wrote:
>>>
>>>
>>> Am 03.05.2017 21:31, schrieb Dan Carpenter:
>>>> Static checkers complain about these missing break statements.
>>>>
>>>> Fixes: 6eaaea144dc5 ("hwmon: (pmbus) Add client driver for IR35221")
>>>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>>>>
>>>> diff --git a/drivers/hwmon/pmbus/ir35221.c
>>>> b/drivers/hwmon/pmbus/ir35221.c
>>>> index cc7b3b542531..00e4a1e264e2 100644
>>>> --- a/drivers/hwmon/pmbus/ir35221.c
>>>> +++ b/drivers/hwmon/pmbus/ir35221.c
>>>> @@ -129,6 +129,7 @@ static int ir35221_read_word_data(struct
>>>> i2c_client *client, int page, int reg)
>>>>      case PMBUS_IIN_OC_WARN_LIMIT:
>>>>          ret = pmbus_read_word_data(client, page, reg);
>>>>          ret = ir35221_scale_result(ret, -1, PSC_CURRENT_IN);
>>>> +        break;
>>>>      case PMBUS_READ_VIN:
>>>>          ret = pmbus_read_word_data(client, page, PMBUS_READ_VIN);
>>>>          ret = ir35221_scale_result(ret, -5, PSC_VOLTAGE_IN);
>>>
>>> Just a remark:
>>> the naming of the variable for pmbus_read_word_data() is unfortunate.
>>> It would be nice to have it like below: val
>>>
>>
>> Yeah.  I thought so too.
>>
> 
> The real problem here is that ret < 0 should return an error without
> rescale,
> which I overlooked. That is a real bug, which isn't fixed by adding a new
> variable to this function. So it would have to be
> 
>     ret = pmbus_read_word_data();
>     if (ret < 0)
>         break;    // or return ret;
>     ret = ir35221_scale_result();
>     break;
> 
> or
>     val = pmbus_read_word_data();
>     if (val < 0)
>         return val;
>     ret = ir35221_scale_result();
>     break;
> 
> or
>     val = pmbus_read_word_data();
>     if (val < 0) {
>         ret = val;
>         break;
>     }
>     ret = ir35221_scale_result();
>     break;
> 
> Out of those, I personally prefer the first. I don't really see how adding
> a variable would improve the code.
> 

the "if" changes everything. Is all about naming the variables. With
ret you give the impression that it may contain an error indicator,
but with val you say "this is a value".

short: if "if" gets added everything is fine

hope that helps,
 wh



      reply	other threads:[~2017-05-04 14:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-03 19:31 [PATCH] hwmon: (pmbus) Add missing break statements Dan Carpenter
2017-05-03 21:57 ` Guenter Roeck
2017-05-04  7:28 ` walter harms
2017-05-04  7:31   ` Dan Carpenter
2017-05-04 13:42     ` Guenter Roeck
2017-05-04 14:36       ` walter harms [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=590B3C54.1060700@bfs.de \
    --to=wharms@bfs.de \
    --cc=dan.carpenter@oracle.com \
    --cc=jdelvare@suse.com \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=sam@mendozajonas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox