All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
	tim.gardner@canonical.com, linux-iio@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald <pmeerw@pmeerw.net>
Subject: Re: [PATCH v4.4-rc8] iio: magnetometer: ak8975: Silence 'may be used uninitialized' warning
Date: Sat, 9 Jan 2016 16:25:17 +0000	[thread overview]
Message-ID: <5691346D.2090307@kernel.org> (raw)
In-Reply-To: <1452356229.4044.4.camel@linux.intel.com>

On 09/01/16 16:17, Srinivas Pandruvada wrote:
> On Sat, 2016-01-09 at 16:00 +0000, Jonathan Cameron wrote:
>> On 09/01/16 00:17, tim.gardner@canonical.com wrote:
>>> From: Tim Gardner <tim.gardner@canonical.com>
>>>
>>> drivers/iio/magnetometer/ak8975.c: In function 'ak8975_probe':
>>> drivers/iio/magnetometer/ak8975.c:788:14: warning: 'chipset' may be
>>> used uninitialized in this function [-Wmaybe-uninitialized]
>>>   data->def = &ak_def_array[chipset];
>>>
>>> gcc version 5.3.1 20151219 (Ubuntu 5.3.1-4ubuntu1)
>>>
>>> Cc: Jonathan Cameron <jic23@kernel.org>
>>> Cc: Hartmut Knaack <knaack.h@gmx.de>
>>> Cc: Lars-Peter Clausen <lars@metafoo.de>
>>> Cc: Peter Meerwald <pmeerw@pmeerw.net>
>>> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
>>> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
>> Doesn't look to be an actual bug as we either end up with chipset
>> being filled
>> based on the traditional match table in which case it'll be assigned
>> or based on the acpi match, which should succeed seeing as we've
>> already
>> had to have matched one or the other for the probe to match in the
>> first place.
>>
>> So probably worth the change to make it easier to tell that it should
>> be fine
>> and suppress the warning.  However, whilst we are here, I note that
>> *match_acpi_table has a path which returns NULL as the name and
>> doesn't assign
>> the chipset.  We should be therefore checking if (!name) return 
>> -ENOSYS;
>> Though maybe another error code would be more appropriate.
>>
> 
> Since in this case we are enumerated by ACPI using our match table, so
> name can't be null. The "name" we provided in 
> static const struct acpi_device_id ak_acpi_match[] = {..}
> Same with the *chipset. Other than suppress warnings, I don't think it
> will cause any real issue.
True enough, in which case why are we checking the name?
I'd be included to drop that check and add a comment.
I haven't chased every path, but I think that might deal with the above
warning at it's root.
> 
> Thanks,
> Srinivas 
> 
>> Not sure that error path can actually happen either, but if we are
>> going to
>> bother having the error path out of match_acpi_table then we ought to
>> actually
>> handle it!
>>
>> Don't suppose you'd mind fixing that one as well whilst here?
>>
>> Jonathan 
>>> ---
>>>
>>> This seems like a legitimate warning, though gcc should have
>>> complained
>>> about an earlier use of chipset on line 782.
>>>
>>>  drivers/iio/magnetometer/ak8975.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/iio/magnetometer/ak8975.c
>>> b/drivers/iio/magnetometer/ak8975.c
>>> index b13936d..80ec0ce 100644
>>> --- a/drivers/iio/magnetometer/ak8975.c
>>> +++ b/drivers/iio/magnetometer/ak8975.c
>>> @@ -732,7 +732,7 @@ static int ak8975_probe(struct i2c_client
>>> *client,
>>>  	int eoc_gpio;
>>>  	int err;
>>>  	const char *name = NULL;
>>> -	enum asahi_compass_chipset chipset;
>>> +	enum asahi_compass_chipset chipset = AK_MAX_TYPE;
>>>  
>>>  	/* Grab and set up the supplied GPIO. */
>>>  	if (client->dev.platform_data)
>>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


  reply	other threads:[~2016-01-09 16:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-09  0:17 [PATCH v4.4-rc8] iio: magnetometer: ak8975: Silence 'may be used uninitialized' warning tim.gardner
2016-01-09 16:00 ` Jonathan Cameron
2016-01-09 16:17   ` Srinivas Pandruvada
2016-01-09 16:25     ` Jonathan Cameron [this message]
2016-01-09 16:51       ` Srinivas Pandruvada
2016-01-09 16:59         ` Jonathan Cameron

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=5691346D.2090307@kernel.org \
    --to=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    --cc=srinivas.pandruvada@linux.intel.com \
    --cc=tim.gardner@canonical.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.