]> git.hungrycats.org Git - linux/commitdiff
iio: st_pressure: st_accel: pass correct platform data to init
authorMichael Nosthoff <committed@heine.so>
Fri, 9 Mar 2018 09:02:45 +0000 (10:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Mar 2018 16:40:12 +0000 (18:40 +0200)
commit 8b438686a001db64c21782d04ef68111e53c45d9 upstream.

Commit 7383d44b added a pointer pdata which get set to the default
platform_data when non was defined in the device. But it did not
pass this pointer to the st_sensors_init_sensor call but still
used the maybe uninitialized platform_data from dev.

This breaks initialization when no platform_data is given and
the optional st,drdy-int-pin devicetree option is not set.

This commit fixes this.

Cc: stable@vger.kernel.org
Fixes: 7383d44b ("iio: st_pressure: st_accel: Initialise sensor platform data properly")
Signed-off-by: Michael Nosthoff <committed@heine.so>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/accel/st_accel_core.c
drivers/iio/pressure/st_pressure_core.c

index 84ab20c6b38992e9112bc28f0e7426877688734c..b4136d3bf6b700e85b632f5e206b5534d1bd4ed1 100644 (file)
@@ -657,7 +657,7 @@ int st_accel_common_probe(struct iio_dev *indio_dev)
        if (!pdata)
                pdata = (struct st_sensors_platform_data *)&default_accel_pdata;
 
-       err = st_sensors_init_sensor(indio_dev, adata->dev->platform_data);
+       err = st_sensors_init_sensor(indio_dev, pdata);
        if (err < 0)
                return err;
 
index 270eeac928bc5a2e91b4b3ee8e66f168bea2ba40..ba282ff3892d30330c102047f435efc20c6a6fd3 100644 (file)
@@ -469,7 +469,7 @@ int st_press_common_probe(struct iio_dev *indio_dev)
        if (!pdata && press_data->sensor_settings->drdy_irq.addr)
                pdata = (struct st_sensors_platform_data *)&default_press_pdata;
 
-       err = st_sensors_init_sensor(indio_dev, press_data->dev->platform_data);
+       err = st_sensors_init_sensor(indio_dev, pdata);
        if (err < 0)
                return err;