summaryrefslogtreecommitdiff
path: root/drivers/iio/magnetometer
diff options
context:
space:
mode:
authorGregor Boirie <gregor.boirie@parrot.com>2016-03-03 10:44:03 (GMT)
committerJonathan Cameron <jic23@kernel.org>2016-03-05 15:18:05 (GMT)
commit55c0c530f7113d98cb1a0d42f15b8abe5e4b6928 (patch)
tree929407f9affb5b2b9e4537a0cffe44a98f43e3d8 /drivers/iio/magnetometer
parentf0fa15cce13d5987c50907eb98846d13e2b4d9ca (diff)
downloadlinux-55c0c530f7113d98cb1a0d42f15b8abe5e4b6928.tar.xz
iio:magnetometer:ak8975: fix uninitialized chipset
ak_def_array bounds are not properly checked in case of ACPI matching failure. GCC warns with the following message at line 799: ‘chipset’ may be used uninitialized in this function. Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/magnetometer')
-rw-r--r--drivers/iio/magnetometer/ak8975.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
index 9c5c9ef..11059b2 100644
--- a/drivers/iio/magnetometer/ak8975.c
+++ b/drivers/iio/magnetometer/ak8975.c
@@ -774,8 +774,11 @@ static int ak8975_probe(struct i2c_client *client,
if (id) {
chipset = (enum asahi_compass_chipset)(id->driver_data);
name = id->name;
- } else if (ACPI_HANDLE(&client->dev))
+ } else if (ACPI_HANDLE(&client->dev)) {
name = ak8975_match_acpi_device(&client->dev, &chipset);
+ if (!name)
+ return -ENODEV;
+ }
else
return -ENOSYS;