linux/drivers/iio/adc
Alvin Šipraga 13f3ce53b6 iio: adc: ina2xx: avoid NULL pointer dereference on OF device match
commit a41e19cc0d upstream.

The affected lines were resulting in a NULL pointer dereference on our
platform because the device tree contained the following list of
compatible strings:

    power-sensor@40 {
        compatible = "ti,ina232", "ti,ina231";
        ...
    };

Since the driver doesn't declare a compatible string "ti,ina232", the OF
matching succeeds on "ti,ina231". But the I2C device ID info is
populated via the first compatible string, cf. modalias population in
of_i2c_get_board_info(). Since there is no "ina232" entry in the legacy
I2C device ID table either, the struct i2c_device_id *id pointer in the
probe function is NULL.

Fix this by using the already populated type variable instead, which
points to the proper driver data. Since the name is also wanted, add a
generic one to the ina2xx_config table.

Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Fixes: c43a102e67 ("iio: ina2xx: add support for TI INA2xx Power Monitors")
Link: https://lore.kernel.org/r/20230619141239.2257392-1-alvin@pqrs.dk
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-08-16 18:32:21 +02:00
..
ab8500-gpadc.c iio: adc: ab8500-gpadc: convert to device properties 2022-08-15 22:29:59 +01:00
ad799x.c iio: adc: ad799x: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
ad4130.c iio: ad4130: Make sure clock provider gets removed 2023-05-13 17:54:57 +01:00
ad7091r-base.c iio:adc:ad7091r: Move exports into IIO_AD7091R namespace. 2022-02-18 11:42:26 +00: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: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
ad7124.c iio: adc: ad7124: Silence no spi_device_id warnings 2022-11-23 19:43:57 +00:00
ad7192.c iio: adc: ad7192: Fix ac excitation feature 2023-08-16 18:32:21 +02:00
ad7266.c iio: adc: ad7266: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7280a.c iio: adc: ad7280a: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7291.c iio: adc: ad7291: Fix indentation error by adding extra spaces 2023-01-28 18:08:47 +00:00
ad7292.c iio: adc: ad7292: Add explicit include for of.h 2023-04-06 20:36:26 +02:00
ad7298.c iio: adc: ad7298: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7476.c iio: adc: ad7476: simplify using devm_regulator_get_enable() 2022-11-23 19:44:00 +00:00
ad7606.c iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
ad7606.h iio: adc: ad7606: simplify using devm_regulator_get_enable() 2022-11-23 19:44:00 +00:00
ad7606_par.c iio: use devm_platform_get_and_ioremap_resource() 2022-11-23 20:41:23 +00:00
ad7606_spi.c iio:adc:ad76060: Move exports into IIO_AD7606 namespace. 2022-02-18 11:42:26 +00:00
ad7766.c iio: adc: ad7766: Fix alignment for DMA safety 2022-06-14 11:53:12 +01:00
ad7768-1.c iio: adc: ad7768-1: Benefit from devm_clk_get_enabled() to simplify 2022-08-15 22:30:02 +01:00
ad7780.c iio:adc:ad_sigma_delta: Move exports into IIO_AD_SIGMA_DELTA namespace 2022-02-18 11:42:26 +00:00
ad7791.c iio: adc: ad7791: fix IRQ flags 2023-02-18 17:06:09 +00:00
ad7793.c iio:adc:ad_sigma_delta: Move exports into IIO_AD_SIGMA_DELTA namespace 2022-02-18 11:42:26 +00:00
ad7887.c iio: adc: ad7887: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
ad7923.c iio: adc: ad7923: support extended range 2022-09-21 18:42:55 +01:00
ad7949.c iio: adc: ad7949: Fix error message 2022-07-16 18:50:24 +01:00
ad9467.c iio: adc: ad9467: Silence no spi_device_id warnings 2022-11-23 19:43:57 +00:00
ad_sigma_delta.c iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag 2023-05-20 16:34:52 +01:00
adi-axi-adc.c IIO new device support, features and minor fixes for 5.20 2022-07-14 15:04:49 +02:00
aspeed_adc.c iio: adc: aspeed: Remove the trim valid dts property. 2022-11-14 20:20:08 +00:00
at91-sama5d2_adc.c Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
at91_adc.c iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger() 2022-11-01 08:48:13 +00:00
axp20x_adc.c iio: adc: axp20x_adc: Replace adc_en2 flag with adc_en2_mask field 2023-03-11 12:18:28 +00:00
axp288_adc.c iio: adc: axp288_adc: do not use internal iio_dev lock 2022-11-23 19:43:57 +00: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: adc: berlin2-adc: Add missing of_node_put() in error path 2022-12-28 17:20:03 +00:00
cc10001_adc.c iio: adc: cc10001: Switch remaining IIO calls in probe to devm_ forms. 2022-11-23 19:44:04 +00:00
cpcap-adc.c iio: adc: cpcap-adc: remove redundant assignment to variable cal_data_diff 2022-02-07 20:40:39 +00:00
da9150-gpadc.c iio: adc: da9150-gpadc: convert probe to full-device managed 2021-10-19 08:27:34 +01:00
dln2-adc.c iio: dln2: Check return value of devm_iio_trigger_register() 2021-11-17 17:52:35 +00:00
envelope-detector.c iio:adc:envelope-detector: Switch from of headers to mod_devicetable.h 2021-12-12 17:13:11 +00:00
ep93xx_adc.c iio: adc: ep93xx: Add OF support 2022-12-30 18:05:16 +00:00
exynos_adc.c iio:adc:exynos_adc: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() 2022-02-18 11:43:11 +00:00
fsl-imx25-gcq.c iio: adc: fsl-imx25-gcq: initialize regulators as needed 2021-10-19 08:27:34 +01:00
hi8435.c iio: adc: hi8435: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
hx711.c iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp() 2021-06-14 11:42:41 +01:00
imx7d_adc.c iio: adc: imx7d_adc: do not use internal iio_dev lock 2022-11-23 19:43:57 +00:00
imx8qxp-adc.c iio: imx8qxp-adc: fix irq flood when call imx8qxp_adc_read_raw() 2022-12-28 17:20:03 +00:00
imx93_adc.c iio: adc: imx93: fix a signedness bug in imx93_adc_read_raw() 2023-05-13 17:54:56 +01:00
ina2xx-adc.c iio: adc: ina2xx: avoid NULL pointer dereference on OF device match 2023-08-16 18:32:21 +02:00
ingenic-adc.c iio: adc: ingenic-adc: Benefit from devm_clk_get_prepared() to simplify 2022-08-15 22:30:02 +01:00
intel_mrfld_adc.c iio: adc: intel_mrfld_adc: explicitly add proper header files 2022-06-15 22:07:09 +01:00
Kconfig iio: adc: Add TI ADS1100 and ADS1000 2023-03-12 14:56:02 +00:00
lp8788_adc.c iio: adc: lp8788_adc: convert probe to full-device managed 2021-10-19 08:27:34 +01:00
lpc18xx_adc.c iio: adc: lpc18xx: Benefit from devm_clk_get_enabled() to simplify 2022-08-15 22:30:02 +01:00
lpc32xx_adc.c iio: adc: lpc32xx_adc: do not use internal iio_dev lock 2022-11-23 19:43:58 +00:00
ltc2471.c iio: adc: ltc2471: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
ltc2485.c iio: adc: ltc2485: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
ltc2496.c drivers: iio: adc: ltc2497: Rename the LTC2499 iio device 2022-09-21 18:42:54 +01:00
ltc2497-core.c iio: adc: ltc2947-core: do not use internal iio_dev lock 2022-11-23 19:43:58 +00:00
ltc2497.c drivers: iio: adc: ltc2497: fix LSB shift 2023-01-28 17:58:56 +00:00
ltc2497.h iio: adc: ltc2947-core: do not use internal iio_dev lock 2022-11-23 19:43:58 +00:00
Makefile iio: adc: Add TI ADS1100 and ADS1000 2023-03-12 14:56:02 +00:00
max1027.c iio: adc: max1027: unlock on error path in max1027_read_single_value() 2022-07-19 09:30:05 +01:00
max1118.c iio: adc: max1118: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
max1241.c iio: adc: max1241: simplify using devm_regulator_get_enable() 2022-11-23 19:44:01 +00:00
max1363.c iio: adc: max1363: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
max9611.c iio: adc: max9611: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
max11100.c iio: adc: max11100: Fix alignment for DMA safety 2022-06-14 11:53:13 +01:00
max11205.c iio: adc: add max11205 adc driver 2022-09-05 18:08:34 +01:00
max11410.c 1st set of IIO new device support, features and cleanups for the 6.4 cycle. 2023-04-12 09:45:34 +02:00
mcp320x.c iio: adc: mcp320x: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
mcp3422.c iio: adc: mcp3422: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
mcp3911.c iio: adc: mcp3911: add support to set PGA 2022-11-23 19:43:57 +00:00
men_z188_adc.c iio: adc: men_z188_adc: Fix a resource leak in an error handling path 2022-01-30 13:51:24 +00:00
meson_saradc.c iio: adc: meson: fix core clock enable/disable moment 2023-08-16 18:32:21 +02:00
mp2629_adc.c iio: adc: mp2629: fix potential array out of bound access 2022-11-01 08:48:02 +00:00
mt6360-adc.c iio: adc: mt6360: Drop an incorrect __maybe_unused marking. 2022-08-15 22:30:02 +01:00
mt6370-adc.c iio: adc: mt6370: Fix ibus and ibat scaling value of some specific vendor ID chips 2023-05-13 17:54:56 +01:00
mt6577_auxadc.c iio: adc: mt6577_auxadc: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-07-18 18:48:17 +01:00
mxs-lradc-adc.c iio: adc: mxs-lradc: fix the order of two cleanup operations 2023-05-13 17:54:57 +01:00
nau7802.c iio: adc: nau7802: Make use of device properties 2022-06-14 11:53:09 +01:00
npcm_adc.c iio: adc: npcm: Add NPCM8XX support 2022-07-18 18:29:29 +01:00
palmas_gpadc.c iio: adc: palmas: fix off by one bugs 2023-05-13 17:54:57 +01:00
qcom-pm8xxx-xoadc.c iio: adc: qcom-pm8xxx-xoadc: Remove useless condition in pm8xxx_xoadc_parse_channel() 2023-03-18 15:44:30 +00:00
qcom-spmi-adc5.c 1st set of IIO fixes for 6.3 2023-03-28 13:30:55 +02:00
qcom-spmi-iadc.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
qcom-spmi-rradc.c iio: adc: qcom-spmi-rradc: Fix spelling mistake "coherrency" -> "coherency" 2022-07-01 11:19:08 +01:00
qcom-spmi-vadc.c iio: adc: qcom-spmi-vadc: convert to device properties 2022-08-15 22:30:00 +01:00
qcom-vadc-common.c iio: adc: qcom-vadc-common: add reverse scaling for PMIC5 Gen2 ADC_TM 2022-05-19 12:11:51 +02:00
rcar-gyroadc.c iio: adc: rcar-gyroadc: mark OF related data as maybe unused 2023-03-11 12:22:36 +00:00
rn5t618-adc.c iio: adc: rn5t618: Re-use generic struct u16_fract 2022-01-30 12:21:25 +00:00
rockchip_saradc.c iio: adc: rockchip_saradc: do not use internal iio_dev lock 2022-11-23 19:43:58 +00:00
rtq6056.c iio: adc: Add rtq6056 support 2022-08-15 22:29:57 +01:00
rzg2l_adc.c IIO new device support, features and minor fixes for 5.20 2022-07-14 15:04:49 +02:00
sc27xx_adc.c iio: adc: sc27xx_adc: do not use internal iio_dev lock 2022-11-23 19:43:58 +00: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: adc: spear_adc: Replace indio_dev->mlock with own device lock 2021-03-25 19:13:49 +00:00
stm32-adc-core.c iio: adc: stm32-adc: add stm32mp13 support 2022-11-23 19:43:59 +00:00
stm32-adc-core.h iio: adc: stm32-adc: smart calibration support 2022-11-23 20:56:13 +00:00
stm32-adc.c iio: adc: stm32-adc: skip adc-channels setup if none is present 2023-05-13 17:54:57 +01:00
stm32-dfsdm-adc.c iio: adc: stm32-dfsdm: fill module aliases 2022-12-28 17:20:03 +00:00
stm32-dfsdm-core.c iio: adc: stm32-dfsdm: add id registers support 2023-01-08 13:11:03 +00:00
stm32-dfsdm.h iio: adc: stm32-dfsdm: add id registers support 2023-01-08 13:11:03 +00:00
stmpe-adc.c iio: adc: stmpe-adc: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-07-18 18:48:17 +01:00
sun4i-gpadc-iio.c thermal/core: Use the thermal zone 'devdata' accessor in remaining drivers 2023-03-03 20:45:02 +01:00
ti-adc081c.c iio: adc: ti-adc081c: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
ti-adc084s021.c iio: adc: ti-adc084s021: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc108s102.c iio: adc: ti-adc108s102: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc128s052.c iio: adc: ti-adc128s052: Sort headers 2023-01-08 12:12:10 +00:00
ti-adc161s626.c iio: adc: ti-adc161s626: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc0832.c iio: adc: ti-adc0832: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-adc12138.c iio: adc: ti-adc12138: Fix alignment for DMA safety 2022-06-14 11:53:14 +01:00
ti-ads124s08.c iio: adc: ti-ads124s08: Drop unused parameter to ads124s_read() 2022-07-18 18:43:42 +01:00
ti-ads131e08.c iio: adc: ti-ads131e08: Silence no spi_device_id warnings 2022-11-23 19:43:57 +00:00
ti-ads1015.c iio: adc: ti-ads1015: Convert to i2c's .probe_new() 2022-11-23 20:01:40 +00:00
ti-ads1100.c iio: adc: ti-ads1100: fix error code in probe() 2023-04-10 12:26:33 +01:00
ti-ads7924.c iio: adc: ti-ads7924: add Texas Instruments ADS7924 driver 2023-01-21 18:19:49 +00:00
ti-ads7950.c iio: adc: ti-ads7950: Set can_sleep flag for GPIO chip 2023-03-18 16:39:35 +00:00
ti-ads8344.c iio: adc: ti-ads8344: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ti-ads8688.c iio: adc: ti-ads8688: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ti-lmp92064.c iio: adc: add ADC driver for the TI LMP92064 controller 2022-12-28 17:19:44 +00:00
ti-tlc4541.c iio: adc: ti-tlc4541: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ti-tsc2046.c iio: adc: tsc2046: silent spi_device_id warning 2022-09-04 14:55:03 +01:00
ti_am335x_adc.c iio: adc: ti-am335x: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-07-18 18:48:17 +01:00
twl4030-madc.c iio: adc: twl4030-madc: add missing of.h include 2022-10-24 05:57:16 -07:00
twl6030-gpadc.c iio:adc:twl6030: Enable measurement of VAC 2022-12-28 17:20:04 +00:00
vf610_adc.c iio: adc: vf610_adc: vf610_adc: do not use internal iio_dev lock 2022-11-23 19:43:58 +00:00
viperboard_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
xilinx-ams.c Linux 6.2-rc7 2023-02-06 08:35:30 +01:00
xilinx-xadc-core.c iio: adc: xilinx-xadc: Benefit from devm_clk_get_enabled() to simplify 2022-08-15 22:30:02 +01:00
xilinx-xadc-events.c iio: xilinx-xadc: Add basic support for Ultrascale System Monitor 2021-01-09 14:25:24 +00:00
xilinx-xadc.h iio: xilinx-xadc: Remove irq field from state struct 2021-10-20 14:43:53 +01:00