linux/drivers/iio/pressure
Peter Rosin 6a6e1d56a0 iio: pressure: mpl115: do not rely on structure field ordering
Fixes a regression triggered by a change in the layout of
struct iio_chan_spec, but the real bug is in the driver which assumed
a specific structure layout in the first place. Hint: the three bits were
not OR:ed together as implied by the indentation prior to this patch,
there was a comma between the first two, which accidentally moved the
..._SCALE and ..._OFFSET bits to the next structure field. That field
was .info_mask_shared_by_type before the _available attributes was added
by commit 5123960007 ("iio:core: add a callback to allow drivers to
provide _available attributes") and .info_mask_separate_available
afterwards, and the regression happened.

info_mask_shared_by_type is actually a better choice than the originally
intended info_mask_separate for the ..._SCALE and ..._OFFSET bits since
a constant is returned from mpl115_read_raw for the scale/offset. Using
info_mask_shared_by_type also preserves the behavior from before the
regression and is therefore less likely to cause other interesting side
effects.

The above mentioned regression causes unintended sysfs attibutes to
show up that are not backed by code, in turn causing a NULL pointer
defererence to happen on access.

Fixes: 3017d90e89 ("iio: Add Freescale MPL115A2 pressure / temperature sensor driver")
Fixes: 5123960007 ("iio:core: add a callback to allow drivers to provide _available attributes")
Signed-off-by: Peter Rosin <peda@axentia.se>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2017-02-11 09:00:44 +00:00
..
abp060mg.c iio: pressure: Add driver for Honeywell ABP family 2016-10-01 15:14:37 +01:00
bmp280-core.c iio: pressure: bmp280: fix runtime suspend/resume crash 2016-08-15 15:46:06 +01:00
bmp280-i2c.c iio: pressure: bmp280: add power management 2016-07-03 11:32:14 +01:00
bmp280-regmap.c iio: pressure: bmp280: split off an I2C Kconfig entry 2016-07-03 11:27:14 +01:00
bmp280-spi.c iio: pressure: bmp280: add power management 2016-07-03 11:32:14 +01:00
bmp280.h iio: pressure: bmp280: add power management 2016-07-03 11:32:14 +01:00
hid-sensor-press.c
hp03.c iio: pressure: hp03: Add Hope RF HP03 sensor support 2016-04-24 09:46:14 +01:00
hp206c.c iio: Export I2C module alias information 2016-05-21 20:08:14 +01:00
Kconfig First round of IIO new device support, features and cleanups for the 4.10 cycle. 2016-10-24 11:34:22 +02:00
Makefile iio: pressure: Add driver for Honeywell ABP family 2016-10-01 15:14:37 +01:00
mpl115_i2c.c iio: convert to common i2c_check_functionality() return value 2016-02-27 17:17:43 +00:00
mpl115_spi.c
mpl115.c iio: pressure: mpl115: do not rely on structure field ordering 2017-02-11 09:00:44 +00:00
mpl115.h
mpl3115.c iio: pressure: mpl3115: do not rely on structure field ordering 2017-02-11 09:00:20 +00:00
ms5611_core.c iio: ms65611_core: Fixes dereferencing regulator pointer 2016-10-23 19:33:50 +01:00
ms5611_i2c.c iio:pressure:ms5611: oversampling rate support 2016-03-05 14:45:14 +00:00
ms5611_spi.c iio: pressure: ms5611: use tab for indention 2016-04-16 13:39:28 +01:00
ms5611.h iio:pressure:ms5611: fix missing regulator_disable 2016-03-20 11:02:40 +00:00
ms5637.c iio: ms5637 Add Measurement Specialties explicit MS5805 and MS5837 support 2016-06-11 17:27:52 +01:00
st_pressure_buffer.c iio: st_sensors: switch to a threaded interrupt 2016-05-29 20:21:41 +01:00
st_pressure_core.c iio: pressure: st_pressure: inline per-sensor data 2016-11-12 15:50:10 +00:00
st_pressure_i2c.c iio:st_pressure:initial lps22hb sensor support 2016-05-29 15:02:14 +01:00
st_pressure_spi.c iio:st_pressure:initial lps22hb sensor support 2016-05-29 15:02:14 +01:00
st_pressure.h iio:st_pressure:initial lps22hb sensor support 2016-05-29 15:02:14 +01:00
t5403.c iio: convert to common i2c_check_functionality() return value 2016-02-27 17:17:43 +00:00
zpa2326_i2c.c iio:pressure: initial zpa2326 barometer support 2016-09-18 19:42:21 +01:00
zpa2326_spi.c iio:pressure: initial zpa2326 barometer support 2016-09-18 19:42:21 +01:00
zpa2326.c iio:pressure: zpa2326: remove redundant "DEBUG" ifdef 2016-09-22 18:43:59 +01:00
zpa2326.h iio:pressure: initial zpa2326 barometer support 2016-09-18 19:42:21 +01:00