2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-21 03:33:59 +08:00
linux-next/drivers/iio
Sanchayan Maity 8546d2e5b1 iio: adc: vf610_adc: Fix division by zero error
In case the fsl,adck-max-frequency property is not present in
the device tree, a division by zero error results during the
probe call on kernel boot (see below). This patch fixes it and
also restores device tree compatibility in case kernels are
booting with old device trees without this property specified.

[    1.063229] Division by zero in kernel.
[    1.067152] CPU: 0 PID: 1 Comm: swapper Not tainted
4.3.0-rc5-00212-gcc88cef #37
[    1.074650] Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
[    1.081135] Backtrace:
[    1.083694] [<800134a4>] (dump_backtrace) from [<8001369c>]
(show_stack+0x18/0x1c)
[    1.091340]  r7:00000008 r6:8e0ae210 r5:00000000 r4:8e299800
[    1.097146] [<80013684>] (show_stack) from [<80297b1c>]
(dump_stack+0x24/0x28)
[    1.104483] [<80297af8>] (dump_stack) from [<80013608>]
(__div0+0x1c/0x20)
[    1.111421] [<800135ec>] (__div0) from [<802968b4>] (Ldiv0+0x8/0x10)
[    1.117865] [<80424350>] (vf610_adc_probe) from [<803153b4>]
(platform_drv_probe+0x4c/0xac)
[    1.126311]  r10:00000000 r9:8076a5ec r8:00000000 r7:fffffdfb
r6:807cc67c r5:8e0ae210
[    1.134319]  r4:807f6c54
[    1.136915] [<80315368>] (platform_drv_probe) from [<803138bc>]
(driver_probe_device+0x20c/0x2f8)
[    1.145882]  r7:807cc67c r6:00000000 r5:8e0ae210 r4:807f6c54
[    1.151657] [<803136b0>] (driver_probe_device) from [<80313a3c>]
(__driver_attach+0x94/0x98)
[    1.160190]  r9:8076a5ec r8:00000098 r7:00000000 r6:8e0ae244
r5:807cc67c r4:8e0ae210
[    1.168112] [<803139a8>] (__driver_attach) from [<80311cb8>]
(bus_for_each_dev+0x70/0xa4)
[    1.176383]  r7:00000000 r6:803139a8 r5:807cc67c r4:00000000
[    1.182159] [<80311c48>] (bus_for_each_dev) from [<80313318>]
(driver_attach+0x24/0x28)
[    1.190260]  r6:807bb568 r5:8e2a5b00 r4:807cc67c
[    1.194996] [<803132f4>] (driver_attach) from [<80312f50>]
(bus_add_driver+0x1a4/0x21c)
[    1.203113] [<80312dac>] (bus_add_driver) from [<803142a8>]
(driver_register+0x80/0x100)
[    1.211275]  r7:8e2a7dc0 r6:807a8160 r5:80789e14 r4:807cc67c
[    1.217075] [<80314228>] (driver_register) from [<803152f8>]
(__platform_driver_register+0x5c/0x64)
[    1.226216]  r5:80789e14 r4:807a8160
[    1.229877] [<8031529c>] (__platform_driver_register) from
[<80789e30>] (vf610_adc_driver_init+0x1c/0x20)
[    1.239556] [<80789e14>] (vf610_adc_driver_init) from [<800095f8>]
(do_one_initcall+0x94/0x1dc)
[    1.248365] [<80009564>] (do_one_initcall) from [<8076ae34>]
(kernel_init_freeable+0x13c/0x1e0)
[    1.257155]  r10:80794830 r9:8076a5ec r8:00000098 r7:807d5780
r6:807d5780 r5:00000006
[    1.265153]  r4:807a0ee8
[    1.267753] [<8076acf8>] (kernel_init_freeable) from [<80590ef0>]
(kernel_init+0x18/0xf0)
[    1.276021]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
r6:00000000 r5:80590ed8
[    1.284015]  r4:807d5780
[    1.286615] [<80590ed8>] (kernel_init) from [<8000f878>]
(ret_from_fork+0x14/0x3c)
[    1.294278]  r5:80590ed8 r4:00000000

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Acked-by: Fugang Duan <B38611@freescale.com>
Acked-by: Stefan Agner <stefan@agner.ch>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-11-08 15:41:09 +00:00
..
accel iio: st_accel: fix interrupt handling on LIS3LV02 2015-10-03 10:27:18 +01:00
adc iio: adc: vf610_adc: Fix division by zero error 2015-11-08 15:41:09 +00:00
amplifiers iio: amplifiers: ad8366: Use right order for type specification 2015-01-01 12:16:57 +00:00
common Second set of new device support, features and cleanup for the 4.3 cycle. 2015-08-12 12:43:41 -07:00
dac iio: ad5064: Fix ad5629/ad5669 shift 2015-10-25 12:30:42 +00:00
frequency iio: frequency: adf4350: Delete blank line 2015-07-11 18:28:04 +01:00
gyro iio: bmg160: IIO_BUFFER and IIO_TRIGGERED_BUFFER are required 2015-08-12 19:24:13 +01:00
humidity iio: dht11: Use new function ktime_get_resolution_ns() 2015-07-20 18:41:20 +01:00
imu Second set of new device support, features and cleanup for the 4.3 cycle. 2015-08-12 12:43:41 -07:00
light This is the bulk of GPIO changes for the v4.3 kernel cycle: 2015-09-04 10:07:45 -07:00
magnetometer This is the bulk of GPIO changes for the v4.3 kernel cycle: 2015-09-04 10:07:45 -07:00
orientation iio: orientation: hid-sensor-rotation: Fix memory leak in probe() 2015-05-17 09:10:25 +01:00
pressure iio: st-sensors: add configuration for WhoAmI address 2015-07-23 20:43:04 +01:00
proximity iio: sx9500: Add missing init in sx9500_buffer_pre{en,dis}able() 2015-07-19 11:48:17 +01:00
temperature Second set of new device support, features and cleanup for the 4.3 cycle. 2015-08-12 12:43:41 -07:00
trigger iio: trigger: Add a blank line after declarations 2014-12-26 12:15:36 +00:00
buffer_cb.c iio: Specify supported modes for buffers 2015-06-01 11:31:12 +01:00
iio_core_trigger.h
iio_core.h iio: Move buffer registration to the core 2014-12-12 12:28:31 +00:00
industrialio-buffer.c iio: industrialio-buffer: Fix iio_buffer_poll return value 2015-08-12 19:26:34 +01:00
industrialio-core.c iio: core: Add function params for kernel docs 2015-08-02 18:24:39 +01:00
industrialio-event.c iio: event: Remove negative error code from iio_event_poll 2015-08-12 19:26:39 +01:00
industrialio-trigger.c iio: trigger: Add missing fields in kernel docs 2015-08-08 12:45:49 +01:00
industrialio-triggered-buffer.c iio: Fix parameters in iio_triggered_buffer_setup 2015-07-05 15:19:50 +01:00
inkern.c First round of IIO new drivers, cleanups and functionality for the 3.20 cycle take 2 2015-01-21 10:13:37 +08:00
Kconfig Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2015-02-19 10:36:45 -08:00
kfifo_buf.c Third round of new IIO drivers, cleanups and functionality for the 4.2 cycle. 2015-06-10 20:48:34 -07:00
Makefile iio: Add AS3935 lightning sensor support 2014-03-16 18:00:32 +00:00