2016-04-05 13:10:04

by Richard Leitner

[permalink] [raw]
Subject: [PATCH] iio: ak8975: fix maybe-uninitialized warning

If i2c_device_id *id is NULL and acpi_match_device returns NULL too,
then chipset may be unitialized when accessing &ak_def_array[chipset] in
ak8975_probe. Therefore initialize chipset to AK_MAX_TYPE, which will
return an error when not changed.

This patch fixes the following maybe-uninitialized warning:

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];

Signed-off-by: Richard Leitner <[email protected]>
---
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 9c5c9ef..82783dc 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)
--
2.1.4


2016-04-10 14:18:29

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: ak8975: fix maybe-uninitialized warning

On 05/04/16 14:03, Richard Leitner wrote:
> If i2c_device_id *id is NULL and acpi_match_device returns NULL too,
> then chipset may be unitialized when accessing &ak_def_array[chipset] in
> ak8975_probe. Therefore initialize chipset to AK_MAX_TYPE, which will
> return an error when not changed.
>
> This patch fixes the following maybe-uninitialized warning:
>
> 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];
>
> Signed-off-by: Richard Leitner <[email protected]>
Applied to the fixes-togreg branch of iio.git and marked fo stable.
> ---
> 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 9c5c9ef..82783dc 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)
>