1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/iio/adc
Lars-Peter Clausen 0fb6ee8d0b iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack
Use a heap allocated memory for the SPI transfer buffer. Using stack memory
can corrupt stack memory when using DMA on some systems.

This change moves the buffer from the stack of the trigger handler call to
the heap of the buffer of the state struct. The size increases takes into
account the alignment for the timestamp, which is 8 bytes.

The 'data' buffer is split into 'tx_buf' and 'rx_buf', to make a clearer
separation of which part of the buffer should be used for TX & RX.

Fixes: af3008485e ("iio:adc: Add common code for ADI Sigma Delta devices")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20201124123807.19717-1-alexandru.ardelean@analog.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2020-12-03 19:32:40 +00:00
..
ab8500-gpadc.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ad799x.c iio: adc: ad799x: Demote seemingly unintentional kerneldoc header 2020-07-20 09:03:20 +01:00
ad7091r-base.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ad7091r-base.h iio: adc: ad7091r5: Add scale and external VREF support 2019-11-16 17:06:10 +00:00
ad7091r5.c iio: adc: ad7091r5: Add scale and external VREF support 2019-11-16 17:06:10 +00:00
ad7124.c iio: adc: ad7124: Fix typo in device name 2020-09-20 18:26:44 +01:00
ad7192.c iio: adc: ad7192: move ad7192_of_match table closer to the end of the file 2020-07-20 09:03:37 +01:00
ad7266.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
ad7291.c iio: adc: ad7291: convert to device tree 2020-09-29 17:27:05 +01:00
ad7292.c iio: adc: ad7292: remove unneeded spi_set_drvdata() 2020-11-21 15:15:28 +00:00
ad7298.c iio: adc: ad7298: check regulator for null in ad7298_get_ref_voltage() 2020-12-03 19:32:19 +00:00
ad7476.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
ad7606.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
ad7606.h iio: adc: ad7606: Add support for AD7606B ADC 2019-08-25 16:11:00 +01:00
ad7606_par.c iio: Remove dev_err() usage after platform_get_irq() 2019-08-05 15:59:14 +01:00
ad7606_spi.c iio: adc: ad7606: Add support for AD7606B ADC 2019-08-25 16:11:00 +01:00
ad7766.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
ad7768-1.c iio: adc: ad7768-1: Add channel labels. 2020-11-08 16:07:39 +00:00
ad7780.c Linux 5.8-rc6 2020-07-20 09:37:31 +02:00
ad7791.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
ad7793.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
ad7887.c iio: adc: ad7887: convert probe to device-managed functions 2020-11-14 16:44:59 +00:00
ad7923.c iio: adc: ad7923: Demote obvious misuse of kerneldoc to standard comment blocks 2020-07-20 09:02:49 +01:00
ad7949.c iio: adc: ad7949: Fix misspelling issue 2020-09-21 18:41:36 +01:00
ad9467.c iio: adc: ad9467: add support for AD9265 high-speed ADC 2020-09-29 17:27:07 +01:00
ad_sigma_delta.c iio: ad_sigma_delta: Don't put SPI transfer buffer on the stack 2020-12-03 19:32:40 +00:00
adi-axi-adc.c iio: adc: adi-axi-adc: Use kobj_to_dev() instead of container_of() 2020-09-03 19:40:47 +01:00
aspeed_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
at91-sama5d2_adc.c iio: adc: at91-sama5d2_adc: use devm_iio_triggered_buffer_setup_ext() 2020-11-21 14:53:24 +00:00
at91_adc.c iio: adc: at91_adc: remove platform data and move defs in driver file 2020-10-10 17:38:36 +01:00
axp20x_adc.c iio:adc:axp20x: Convert from OF to generic fw / device properties 2020-09-03 19:40:46 +01:00
axp288_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
bcm_iproc_adc.c iio:adc:bcm_iproc: Drop of_match_ptr protection and switch to mod_devicetable.h 2020-09-03 19:40:45 +01:00
berlin2-adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cc10001_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cpcap-adc.c iio: adc: cpcap: Fix fall-through warnings for Clang 2020-11-21 15:04:05 +00:00
da9150-gpadc.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
dln2-adc.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
envelope-detector.c iio: adc: envelope-detector: Simplify with dev_err_probe() 2020-09-03 19:40:49 +01:00
ep93xx_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
exynos_adc.c iio: adc: exynos: do not rely on 'users' counter in ISR 2020-10-10 17:49:52 +01:00
fsl-imx25-gcq.c iio: adc: fsl-imx25-gcq: Replace indio_dev->mlock with own device lock 2020-09-21 18:41:35 +01:00
hi8435.c iio:adc:hi8435: Drop of_match_ptr protection. 2020-07-07 20:24:08 +01:00
hx711.c iio: remove left-over parent assignments 2020-06-14 11:50:04 +01:00
imx7d_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ina2xx-adc.c iio:adc:ina2xx Fix timestamp alignment issue. 2020-08-31 10:47:52 +01:00
ingenic-adc.c First set of new device support, features and cleanups for IIO in the 5.11 cycle 2020-11-24 08:30:08 +01:00
intel_mrfld_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
Kconfig iio: adc: mt6360: Add ADC driver for MT6360 2020-11-08 16:20:18 +00:00
lp8788_adc.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
lpc18xx_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
lpc32xx_adc.c iio:adc:lpc32xx: Drop of_match_ptr protection 2020-07-07 20:24:08 +01:00
ltc2471.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ltc2485.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ltc2496.c iio:adc:ltc2496: Drop of_match_ptr and use mod_devicetable.h 2020-07-07 20:24:08 +01:00
ltc2497-core.c iio: adc: ltc2497: Simplify with dev_err_probe() 2020-09-03 19:40:49 +01:00
ltc2497.c iio:adc:ltc2497 drop of_match_ptr protection 2020-07-07 20:24:09 +01:00
ltc2497.h iio: adc: ltc2497: split protocol independent part in a separate module 2019-12-15 12:15:19 +00:00
Makefile iio: adc: mt6360: Add ADC driver for MT6360 2020-11-08 16:20:18 +00:00
max1027.c iio:adc:max1027: drop of_match_ptr and CONFIG_OF protections 2020-07-07 20:24:08 +01:00
max1118.c iio:adc:max1118 Fix alignment of timestamp and data leak issues 2020-08-31 10:47:52 +01:00
max1241.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
max1363.c iio: adc: max1363: Fix kerneldoc attribute formatting for 'lock' 2020-07-20 09:03:27 +01:00
max9611.c iio: adc: max9611: Demote obvious misuse of kerneldoc to standard comment blocks 2020-07-20 09:03:27 +01:00
max11100.c iio:adc:max11100: Drop of_match_ptr protection / add mod_devicetable.h include 2020-07-07 20:24:09 +01:00
mcp320x.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
mcp3422.c iio: adc: mcp3422: fix locking on error path 2020-09-01 16:08:07 +02:00
mcp3911.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
men_z188_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
meson_saradc.c iio: remove unneeded break 2020-11-01 15:31:56 +00:00
mp2629_adc.c iio: adc: mp2629: Add support for mp2629 ADC driver 2020-05-26 10:41:47 +01:00
mt6360-adc.c iio: adc: mt6360: Add ADC driver for MT6360 2020-11-08 16:20:18 +00:00
mt6577_auxadc.c iio: adc: mediatek: fix unset field 2020-11-01 15:22:46 +00:00
mxs-lradc-adc.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
nau7802.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
npcm_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
palmas_gpadc.c iio: adc: palmas_gpadc: use module_platform_driver to simplify the code 2020-09-16 19:09:51 +01:00
qcom-pm8xxx-xoadc.c iio: adc: qcom-pm8xxx-xoadc: Demote standard comment block and supply missing description 2020-07-20 09:03:31 +01:00
qcom-spmi-adc5.c iio: adc: qcom-spmi-adc5: fix driver name 2020-09-22 13:33:19 +01:00
qcom-spmi-iadc.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
qcom-spmi-vadc.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
qcom-vadc-common.c iio: adc: Add support for PMIC7 ADC 2020-06-14 11:49:21 +01:00
qcom-vadc-common.h iio: adc: Add support for PMIC7 ADC 2020-06-14 11:49:21 +01:00
rcar-gyroadc.c iio: adc: gyroadc: fix leak of device node iterator 2020-09-29 17:50:51 +01:00
rn5t618-adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
rockchip_saradc.c iio: adc: rockchip_saradc: Demote seemingly unintentional kerneldoc header 2020-07-20 09:03:35 +01:00
sc27xx_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
sd_adc_modulator.c iio:adc:sd_adc_modulator: Drop of_match_ptr and tweak includes 2020-07-07 20:24:09 +01:00
spear_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
stm32-adc-core.c First set of new device support, features and cleanups for IIO in the 5.11 cycle 2020-11-24 08:30:08 +01:00
stm32-adc-core.h iio: adc: stm32-adc: Add check on overrun interrupt 2019-12-15 11:42:17 +00:00
stm32-adc.c First set of new device support, features and cleanups for IIO in the 5.11 cycle 2020-11-24 08:30:08 +01:00
stm32-dfsdm-adc.c sound updates for 5.10 2020-10-15 11:07:44 -07:00
stm32-dfsdm-core.c iio: adc: stm32-dfsdm: Use devm_platform_get_and_ioremap_resource() 2020-09-29 17:27:06 +01:00
stm32-dfsdm.h ASoC: stm32: dfsdm: add actual resolution trace 2020-10-08 20:44:41 +01:00
stmpe-adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
stx104.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
sun4i-gpadc-iio.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
ti-adc081c.c Merge 5.9-rc5 into staging-next 2020-09-14 06:57:52 +02:00
ti-adc084s021.c iio:adc:ti-adc084s021 Fix alignment and data leak issues. 2020-08-31 10:47:52 +01:00
ti-adc108s102.c iio:adc:ti-adc108s102: Drop CONFIG_OF and of_match_ptr protections 2020-09-03 19:40:45 +01:00
ti-adc128s052.c iio:adc:ti-adc128s052: drop of_match_ptr protection 2020-09-03 19:40:45 +01:00
ti-adc161s626.c iio:adc:ti-adc161s626: Drop of_match_ptr protection. 2020-07-07 20:24:10 +01:00
ti-adc0832.c iio:adc:ti-adc0832 Fix alignment issue with timestamp 2020-09-21 20:01:51 +01:00
ti-adc12138.c iio:adc:ti-adc12138 Fix alignment issue with timestamp 2020-09-21 20:01:51 +01:00
ti-ads124s08.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
ti-ads1015.c iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set 2020-08-22 11:38:44 +01:00
ti-ads7950.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
ti-ads8344.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
ti-ads8688.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
ti-tlc4541.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
ti_am335x_adc.c iio: adc: ti_am335x_adc: Remove a couple of unused 'read' variables 2020-07-20 09:03:11 +01:00
twl4030-madc.c iio: adc: twl4030-madc: Fix misnamed struct attribute 2020-07-20 09:03:14 +01:00
twl6030-gpadc.c iio: adc: twl6030-gpadc: Fix some misdocumentation and formatting issues 2020-07-20 09:03:15 +01:00
vf610_adc.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
viperboard_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
xilinx-xadc-core.c iio: adc: xilinx-xadc: use devm_krealloc() 2020-09-08 13:32:07 +02:00
xilinx-xadc-events.c iio: xilinx-xadc: Fix typo in author's name 2020-03-21 10:25:35 +00:00
xilinx-xadc.h iio: xilinx-xadc: Fix typo in author's name 2020-03-21 10:25:35 +00:00