iio: imu: mpu6050: fix possible NULL dereferences
authorMatt Ranostay <matt.ranostay@intel.com>
Thu, 3 Mar 2016 03:18:12 +0000 (19:18 -0800)
committerJonathan Cameron <jic23@kernel.org>
Wed, 4 May 2016 07:42:00 +0000 (08:42 +0100)
Fix possible null dereferencing of i2c and spi driver data.

Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c

index f581256..d0c0e20 100644 (file)
@@ -117,6 +117,7 @@ static int inv_mpu_probe(struct i2c_client *client,
        struct inv_mpu6050_state *st;
        int result;
        const char *name = id ? id->name : NULL;
+       const int chip_type = id ? id->driver_data : 0;
        struct regmap *regmap;
 
        if (!i2c_check_functionality(client->adapter,
@@ -131,7 +132,7 @@ static int inv_mpu_probe(struct i2c_client *client,
        }
 
        result = inv_mpu_core_probe(regmap, client->irq, name,
-                                   NULL, id->driver_data);
+                                   NULL, chip_type);
        if (result < 0)
                return result;
 
index dea6c43..7bcb8d8 100644 (file)
@@ -46,6 +46,7 @@ static int inv_mpu_probe(struct spi_device *spi)
        struct regmap *regmap;
        const struct spi_device_id *id = spi_get_device_id(spi);
        const char *name = id ? id->name : NULL;
+       const int chip_type = id ? id->driver_data : 0;
 
        regmap = devm_regmap_init_spi(spi, &inv_mpu_regmap_config);
        if (IS_ERR(regmap)) {
@@ -55,7 +56,7 @@ static int inv_mpu_probe(struct spi_device *spi)
        }
 
        return inv_mpu_core_probe(regmap, spi->irq, name,
-                                 inv_mpu_i2c_disable, id->driver_data);
+                                 inv_mpu_i2c_disable, chip_type);
 }
 
 static int inv_mpu_remove(struct spi_device *spi)