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
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)
>