linux/drivers/iio
Linus Walleij 31f453eac5 iio: pressure: bmp280: fix runtime suspend/resume crash
In commit 3d838118c6 ("iio: pressure: bmp280: add power management")

For some reason the code in the runtime suspend/resume hooks
got wrong (I suspect in the ambition to cut down boilerplate)
and it seems it was tested without CONFIG_PM and crashes like
so for me:

Unable to handle kernel NULL pointer dereference at virtual address 0000000c
pgd = c0204000
[0000000c] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 1 PID: 89 Comm: kworker/1:2 Not tainted
  4.7.0-03348-g90dc3680458a-dirty #99
Hardware name: Generic DT based system
Workqueue: pm pm_runtime_work
task: df3c6300 ti: dec8a000 task.ti: dec8a000
PC is at regulator_disable+0x0/0x6c
LR is at bmp280_runtime_suspend+0x3c/0xa4

Dereferencing the BMP280 state container properly fixes the problem,
sorry for screwing up.

Fixes: 3d838118c6 ("iio: pressure: bmp280: add power management")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-08-15 15:46:06 +01:00
..
accel iio: add Kconfig selects needed for triggered buffer compiles 2016-08-15 15:42:04 +01:00
adc iio: ad799x: Fix buffered capture for ad7991/ad7995/ad7999 2016-08-15 15:39:14 +01:00
amplifiers spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
buffer iio: buffer-dma: Use ARRAY_SIZE in for loop range 2016-06-27 21:06:40 +01:00
chemical iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
common iio:st_sensors: align on storagebits boundaries 2016-07-04 18:07:45 +01:00
dac iio: stx104: Unregister IIO device on remove callback 2016-08-15 15:39:32 +01:00
dummy iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
frequency iio: frequency: ad9523: use unsigned int rather then bare unsigned 2016-04-17 10:31:03 +01:00
gyro iio: bmg160: add callbacks for the filter frequency 2016-07-03 12:39:55 +01:00
health First round of IIO new device support, features and cleanups for the 4.8 cycle. 2016-06-09 09:15:58 -07:00
humidity iio: add Kconfig selects needed for triggered buffer compiles 2016-08-15 15:42:04 +01:00
imu Third set of IIO new device support, features and cleanups for the 4.8 cycle. 2016-07-14 12:05:29 +09:00
light iio: add Kconfig selects needed for triggered buffer compiles 2016-08-15 15:42:04 +01:00
magnetometer iio: magn: ak8975: deploy runtime and system PM 2016-06-30 20:40:16 +01:00
orientation
potentiometer iio: potentiometer: Fix typo in Kconfig 2016-07-03 12:40:01 +01:00
pressure iio: pressure: bmp280: fix runtime suspend/resume crash 2016-08-15 15:46:06 +01:00
proximity iio: proximity: as3935: set up buffer timestamps for non-zero values 2016-08-15 15:39:27 +01:00
temperature iio: Export I2C module alias information 2016-05-21 20:08:14 +01:00
trigger iio:trigger: Experimental kthread tight loop trigger (thread only) 2016-06-03 13:18:44 +01:00
iio_core_trigger.h
iio_core.h iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
industrialio-buffer.c iio: fix config watermark initial value 2016-03-28 11:00:38 +01:00
industrialio-configfs.c iio:configfs: Introduce iio/configfs.h to provide a location for the configfs_subsystem 2015-12-05 16:25:30 +00:00
industrialio-core.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
industrialio-event.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
industrialio-sw-device.c iio: Add support for creating IIO devices via configfs 2016-05-04 11:43:54 +01:00
industrialio-sw-trigger.c iio: core: fix ptr_ret.cocci warnings 2016-01-20 17:09:18 -08:00
industrialio-trigger.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
industrialio-triggered-event.c iio: Support triggered events 2015-08-27 20:47:09 +01:00
inkern.c iio: core: Add devm_ APIs for iio_channel_{get,release}_all 2016-04-19 19:58:15 +01:00
Kconfig iio: Add support for creating IIO devices via configfs 2016-05-04 11:43:54 +01:00
Makefile iio: Add support for creating IIO devices via configfs 2016-05-04 11:43:54 +01:00