linux-stable/drivers/i2c/busses
Heiner Kallweit b3914fee09 i2c: i801: Avoid potential double call to gpiod_remove_lookup_table
commit ceb013b2d9 upstream.

If registering the platform device fails, the lookup table is
removed in the error path. On module removal we would try to
remove the lookup table again. Fix this by setting priv->lookup
only if registering the platform device was successful.
In addition free the memory allocated for the lookup table in
the error path.

Fixes: d308dfbf62 ("i2c: mux/i801: Switch to use descriptor passing")
Cc: stable@vger.kernel.org
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-10 16:18:46 +02:00
..
Kconfig
Makefile
i2c-acorn.c
i2c-ali15x3.c
i2c-ali1535.c
i2c-ali1563.c
i2c-altera.c
i2c-amd-mp2-pci.c
i2c-amd-mp2-plat.c
i2c-amd-mp2.h
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-aspeed.c i2c: aspeed: Handle the coalesced stop conditions with the start conditions. 2024-01-05 15:13:31 +01:00
i2c-at91-core.c
i2c-at91-master.c
i2c-at91-slave.c
i2c-at91.h
i2c-au1550.c
i2c-axxia.c
i2c-bcm-iproc.c i2c: iproc: handle invalid slave state 2023-11-20 11:08:29 +01:00
i2c-bcm-kona.c
i2c-bcm2835.c
i2c-brcmstb.c
i2c-cadence.c i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path 2023-05-11 23:00:33 +09:00
i2c-cbus-gpio.c
i2c-cht-wc.c
i2c-cp2615.c
i2c-cpm.c
i2c-cros-ec-tunnel.c
i2c-davinci.c
i2c-designware-baytrail.c
i2c-designware-common.c i2c: designware: Fix corrupted memory seen in the ISR 2023-12-13 18:36:32 +01:00
i2c-designware-core.h i2c: designware: fix i2c_dw_clk_rate() return size to be u32 2023-03-10 09:39:34 +01:00
i2c-designware-master.c i2c: designware: Disable TX_EMPTY irq while waiting for block length byte 2023-11-28 16:56:34 +00:00
i2c-designware-pcidrv.c i2c: designware-pci: Add new PCI IDs for AMD NAVI GPU 2023-02-09 11:26:38 +01:00
i2c-designware-platdrv.c i2c: designware: Use standard optional ref clock implementation 2022-06-22 14:22:02 +02:00
i2c-designware-slave.c
i2c-digicolor.c
i2c-diolan-u2c.c
i2c-dln2.c
i2c-eg20t.c
i2c-elektor.c
i2c-emev2.c
i2c-exynos5.c
i2c-fsi.c
i2c-gpio.c
i2c-highlander.c
i2c-hisi.c i2c: hisi: Only handle the interrupt of the driver's transfer 2023-08-26 14:23:31 +02:00
i2c-hix5hd2.c
i2c-hydra.c
i2c-i801.c i2c: i801: Avoid potential double call to gpiod_remove_lookup_table 2024-04-10 16:18:46 +02:00
i2c-ibm_iic.c i2c: Delete error messages for failed memory allocations 2023-08-03 10:22:27 +02:00
i2c-ibm_iic.h
i2c-icy.c
i2c-img-scb.c
i2c-imx-lpi2c.c i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle 2023-06-28 10:29:53 +02:00
i2c-imx.c i2c: imx: when being a target, mark the last read as processed 2024-03-01 13:22:00 +01:00
i2c-iop3xx.c
i2c-iop3xx.h
i2c-isch.c
i2c-ismt.c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2022-12-31 13:14:31 +01:00
i2c-jz4780.c
i2c-kempld.c
i2c-lpc2k.c
i2c-meson.c
i2c-mlxbf.c i2c: mlxbf: support lock mechanism 2022-10-26 12:34:46 +02:00
i2c-mlxcpld.c i2c: mlxcpld: Fix register setting for 400KHz frequency 2022-07-29 17:25:16 +02:00
i2c-mpc.c
i2c-mt65xx.c
i2c-mt7621.c
i2c-mv64xxx.c i2c: mv64xxx: Fix reading invalid status value in atomic mode 2023-06-14 11:13:08 +02:00
i2c-mxs.c i2c: mxs: suppress probe-deferral error message 2023-02-09 11:26:39 +01:00
i2c-nforce2-s4985.c
i2c-nforce2.c
i2c-nomadik.c i2c: nomadik: Remove a useless call in the remove function 2023-08-03 10:22:27 +02:00
i2c-npcm7xx.c i2c: npcm7xx: Fix callback completion ordering 2023-10-06 13:18:14 +02:00
i2c-nvidia-gpu.c
i2c-ocores.c i2c: ocores: generate stop condition after timeout in polling mode 2023-04-20 12:13:56 +02:00
i2c-octeon-core.c
i2c-octeon-core.h
i2c-octeon-platdrv.c
i2c-omap.c i2c: omap: Fix standard mode false ACK readings 2023-05-11 23:00:18 +09:00
i2c-opal.c
i2c-owl.c
i2c-parport.c
i2c-pasemi.c
i2c-pca-isa.c
i2c-pca-platform.c
i2c-piix4.c i2c: piix4: Fix adapter not be removed in piix4_remove() 2022-11-10 18:15:36 +01:00
i2c-pnx.c
i2c-powermac.c
i2c-pxa-pci.c i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe 2022-12-31 13:14:30 +01:00
i2c-pxa.c Revert "i2c: pxa: move to generic GPIO recovery" 2023-11-28 16:56:33 +00:00
i2c-qcom-cci.c i2c: qcom-cci: Fix ordering of pm_runtime_xx and i2c_add_adapter 2022-10-29 10:12:54 +02:00
i2c-qcom-geni.c
i2c-qup.c i2c: qup: Add missing unwind goto in qup_i2c_probe() 2023-07-23 13:47:31 +02:00
i2c-rcar.c i2c: rcar: fix PM ref counts in probe error paths 2022-06-09 10:23:16 +02:00
i2c-riic.c
i2c-rk3x.c i2c: rk3x: fix potential spinlock recursion on poll 2024-01-25 14:52:30 -08:00
i2c-robotfuzz-osif.c
i2c-s3c2410.c i2c: s3c24xx: fix transferring more than one message in polling mode 2024-01-25 14:52:55 -08:00
i2c-scmi.c
i2c-sh7760.c i2c: Improve size determinations 2023-08-03 10:22:27 +02:00
i2c-sh_mobile.c
i2c-sibyte.c
i2c-simtec.c
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-sprd.c i2c: sprd: Delete i2c adapter in .remove's error path 2023-06-14 11:13:08 +02:00
i2c-st.c
i2c-stm32.c
i2c-stm32.h
i2c-stm32f4.c
i2c-stm32f7.c i2c: stm32f7: Fix PEC handling in case of SMBUS transfers 2023-11-08 17:26:40 +01:00
i2c-sun6i-p2wi.c i2c: sun6i-p2wi: Prevent potential division by zero 2023-11-28 16:56:20 +00:00
i2c-synquacer.c
i2c-taos-evm.c
i2c-tegra-bpmp.c
i2c-tegra.c i2c: tegra: Allocate DMA memory for DMA engine 2022-11-26 09:24:31 +01:00
i2c-thunderx-pcidrv.c
i2c-tiny-usb.c i2c: Delete error messages for failed memory allocations 2023-08-03 10:22:27 +02:00
i2c-uniphier-f.c
i2c-uniphier.c
i2c-versatile.c
i2c-via.c
i2c-viapro.c
i2c-viperboard.c
i2c-virtio.c
i2c-wmt.c
i2c-xgene-slimpro.c i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer() 2023-03-30 12:48:00 +02:00
i2c-xiic.c i2c: xiic: Don't try to handle more interrupt events after error 2023-07-23 13:47:31 +02:00
i2c-xlp9xx.c
i2c-xlr.c
scx200_acb.c