kernel-hacking-2024-linux-s.../drivers/i2c/busses
Christophe JAILLET de87b603b0 i2c: mediatek: Fix an error handling path in mtk_i2c_probe()
The clsk are prepared, enabled, then disabled. So if an error occurs after
the disable step, they are still prepared.

Add an error handling path to unprepare the clks in such a case, as already
done in the .remove function.

Fixes: 8b4fc246c3 ("i2c: mediatek: Optimize master_xfer() and avoid circular locking")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Qii Wang <qii.wang@mediatek.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2022-06-14 22:11:54 +02:00
..
i2c-acorn.c
i2c-ali15x3.c
i2c-ali1535.c i2c: ali1535: mention that the device should not be disabled 2021-07-02 09:14:46 +02:00
i2c-ali1563.c i2c: busses: i2c-ali1563: File headers are not good candidates for kernel-doc 2021-05-27 21:29:26 +02:00
i2c-altera.c i2c: altera: Fix formatting issue in struct and demote unworthy kernel-doc headers 2021-06-03 22:25:24 +02:00
i2c-amd-mp2-pci.c i2c: amd-mp2: Remove useless DMA-32 fallback configuration 2022-02-07 15:32:14 +01:00
i2c-amd-mp2-plat.c i2c: amd-mp2-plat: ACPI: Use ACPI_COMPANION() directly 2021-11-07 14:57:41 +01:00
i2c-amd-mp2.h
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-aspeed.c i2c: aspeed: Remove unused includes 2021-12-16 22:27:16 +01:00
i2c-at91-core.c i2c: at91: mark PM ops as __maybe unused 2021-08-11 15:54:01 +02:00
i2c-at91-master.c i2c: at91: Initialize dma_buf in at91_twi_xfer() 2022-05-14 15:41:16 +02:00
i2c-at91-slave.c
i2c-at91.h
i2c-au1550.c
i2c-axxia.c
i2c-bcm-iproc.c i2c: iproc: fix race between client unreg and tasklet 2021-08-10 22:40:55 +02:00
i2c-bcm-kona.c i2c: bcm-kona: Fix return value in probe() 2021-09-29 23:05:05 +02:00
i2c-bcm2835.c Merge tag 'irq-api-2022-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into i2c/for-mergewindow 2022-02-23 14:14:15 +01:00
i2c-brcmstb.c i2c: brcmstb: fix support for DSL and CM variants 2022-02-18 10:37:33 +01:00
i2c-cadence.c i2c: cadence: Increase timeout per message if necessary 2022-05-14 15:58:56 +02:00
i2c-cbus-gpio.c i2c: cbus-gpio: set atomic transfer callback 2021-11-29 09:52:10 +01:00
i2c-ccgx-ucsi.c i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
i2c-ccgx-ucsi.h i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
i2c-cht-wc.c Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2022-03-26 12:46:08 -07:00
i2c-cp2615.c i2c: cp2615: check for allocation failure in cp2615_i2c_recv() 2021-06-20 23:13:34 +02:00
i2c-cpm.c
i2c-cros-ec-tunnel.c i2c: cros-ec-tunnel: Fix syntax errors in comments 2022-03-11 21:54:21 +01:00
i2c-davinci.c i2c: davinci: using pm_runtime_resume_and_get instead of pm_runtime_get_sync 2022-05-04 22:40:35 +02:00
i2c-designware-amdpsp.c i2c: designware: Modify timing parameters for amdpsp mailbox 2022-05-04 21:54:11 +02:00
i2c-designware-baytrail.c i2c: designware: Add AMD PSP I2C bus support 2022-02-11 15:38:23 +01:00
i2c-designware-common.c i2c: designware: Use standard optional ref clock implementation 2022-06-13 16:50:27 +02:00
i2c-designware-core.h i2c: designware: Use the i2c_mark_adapter_suspended/resumed() helpers 2022-03-01 16:31:39 +01:00
i2c-designware-master.c i2c: designware: Use the i2c_mark_adapter_suspended/resumed() helpers 2022-03-01 16:31:39 +01:00
i2c-designware-pcidrv.c i2c: designware: Use the i2c_mark_adapter_suspended/resumed() helpers 2022-03-01 16:31:39 +01:00
i2c-designware-platdrv.c i2c: designware: Use standard optional ref clock implementation 2022-06-13 16:50:27 +02:00
i2c-designware-slave.c
i2c-digicolor.c
i2c-diolan-u2c.c
i2c-dln2.c
i2c-eg20t.c i2c: busses: i2c-eg20t: Fix 'bad line' issue and provide description for 'msgs' param 2021-05-27 21:33:10 +02:00
i2c-elektor.c
i2c-emev2.c
i2c-exynos5.c i2c: exynos5: Fix getting the optional clock 2021-12-16 22:21:27 +01:00
i2c-fsi.c
i2c-gpio.c
i2c-highlander.c i2c: highlander: add IRQ check 2021-08-03 22:48:39 +02:00
i2c-hisi.c
i2c-hix5hd2.c i2c: hix5hd2: fix IRQ check 2021-08-19 19:18:24 +02:00
i2c-hydra.c
i2c-i801.c i2c: i801: Drop two outdated comments 2022-03-11 21:33:08 +01:00
i2c-ibm_iic.c
i2c-ibm_iic.h
i2c-icy.c i2c: icy: Remove unused variable new_fwnode in icy_probe() 2021-05-25 21:21:32 +02:00
i2c-img-scb.c
i2c-imx-lpi2c.c
i2c-imx.c i2c: imx: Implement errata ERR007805 or e7805 bus frequency limit 2022-04-15 23:13:52 +02:00
i2c-iop3xx.c i2c: iop3xx: fix deferred probing 2021-08-19 19:18:17 +02:00
i2c-iop3xx.h
i2c-isch.c
i2c-ismt.c i2c: ismt: prevent memory corruption in ismt_access() 2022-06-02 08:40:56 -07:00
i2c-jz4780.c Merge branch 'i2c/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-04-30 13:01:02 -07:00
i2c-kempld.c i2c: kempld: deprecate class based instantiation 2021-09-29 23:07:02 +02:00
i2c-lpc2k.c
i2c-meson.c i2c: meson: fix typo in comment 2022-05-21 13:33:25 +02:00
i2c-mlxbf.c
i2c-mlxcpld.c i2c: mlxcpld: Allow flexible polling time setting for I2C transactions 2021-10-11 12:32:00 +02:00
i2c-mpc.c Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2022-01-14 16:19:38 +01:00
i2c-mt65xx.c i2c: mediatek: Fix an error handling path in mtk_i2c_probe() 2022-06-14 22:11:54 +02:00
i2c-mt7621.c I2C for 5.19-rc1 2022-05-31 14:34:00 -07:00
i2c-mv64xxx.c
i2c-mxs.c i2c: mxs: : use proper DMAENGINE API for termination 2021-08-11 15:16:01 +02:00
i2c-nforce2-s4985.c
i2c-nforce2.c
i2c-nomadik.c i2c: busses: i2c-nomadik: Fix formatting issue pertaining to 'timeout' 2021-05-27 21:27:48 +02:00
i2c-npcm7xx.c i2c: npcm7xx: Add check for platform_driver_register 2022-06-08 22:15:37 +02:00
i2c-nvidia-gpu.c i2c: nvidia-gpu: Convert to use dev_err_probe() 2022-02-15 10:05:02 +01:00
i2c-ocores.c i2c: busses: i2c-ocores: Place the expected function names into the documentation headers 2021-05-27 21:33:41 +02:00
i2c-octeon-core.c
i2c-octeon-core.h
i2c-octeon-platdrv.c
i2c-omap.c
i2c-opal.c
i2c-owl.c
i2c-parport.c i2c: parport: Switch to use module_parport_driver() 2021-08-10 23:07:37 +02:00
i2c-pasemi-core.c i2c: pasemi: Wait for write xfers to finish 2022-04-15 23:12:02 +02:00
i2c-pasemi-core.h i2c: pasemi: Set enable bit for Apple variant 2021-10-11 11:45:56 +02:00
i2c-pasemi-pci.c i2c: pasemi: Drop I2C classes from platform driver variant 2022-02-15 10:28:34 +01:00
i2c-pasemi-platform.c i2c: pasemi: Add Apple platform driver 2021-10-11 11:45:48 +02:00
i2c-pca-isa.c
i2c-pca-platform.c
i2c-piix4.c i2c: piix4: Enable EFCH MMIO for Family 17h+ 2022-02-11 15:38:23 +01:00
i2c-pnx.c i2c: busses: i2c-pnx: Provide descriptions for 'alg_data' data structure 2021-05-27 21:34:08 +02:00
i2c-powermac.c i2c: powermac: Prepare cleanup of powerpc's asm/prom.h 2022-05-04 22:32:45 +02:00
i2c-pxa-pci.c
i2c-pxa.c i2c: pxa: drop unneeded MODULE_ALIAS 2021-10-02 09:32:06 +02:00
i2c-qcom-cci.c Merge tag 'irq-api-2022-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into i2c/for-mergewindow 2022-02-23 14:14:15 +01:00
i2c-qcom-geni.c I2C for 5.19-rc1 2022-05-31 14:34:00 -07:00
i2c-qup.c i2c: qup: move to use request_irq by IRQF_NO_AUTOEN flag 2021-10-29 21:57:33 +02:00
i2c-rcar.c i2c: rcar: use flags instead of atomic_xfer 2022-05-21 12:55:32 +02:00
i2c-riic.c i2c: riic: Simplify reset handling 2022-03-01 16:05:01 +01:00
i2c-rk3x.c Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2022-01-14 16:19:38 +01:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: fix control-request directions 2021-06-24 22:08:00 +02:00
i2c-s3c2410.c i2c: s3c2410: fix IRQ check 2021-08-19 19:18:24 +02:00
i2c-scmi.c
i2c-sh7760.c
i2c-sh_mobile.c i2c: sh_mobile: remove unneeded semicolon 2022-01-11 21:11:24 +01:00
i2c-sibyte.c
i2c-simtec.c
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-sprd.c
i2c-st.c i2c: busses: i2c-st: Fix copy/paste function misnaming issues 2021-05-27 21:39:35 +02:00
i2c-stm32.c
i2c-stm32.h
i2c-stm32f4.c i2c: busses: i2c-stm32f4: Remove incorrectly placed ' ' from function name 2021-05-27 21:39:57 +02:00
i2c-stm32f7.c Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2022-01-14 16:19:38 +01:00
i2c-sun6i-p2wi.c i2c: sun6i-pw2i: Prefer strscpy over strlcpy 2021-08-17 21:37:40 +02:00
i2c-synquacer.c i2c: synquacer: fix deferred probing 2021-08-17 21:41:32 +02:00
i2c-taos-evm.c
i2c-tegra-bpmp.c i2c: tegra-bpmp: Demote kernel-doc abuses 2021-06-03 22:31:42 +02:00
i2c-tegra.c i2c: tegra: Add SMBus block read function 2022-03-01 20:34:00 +01:00
i2c-thunderx-pcidrv.c drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers 2022-05-21 13:41:28 +02:00
i2c-tiny-usb.c
i2c-uniphier-f.c
i2c-uniphier.c
i2c-versatile.c
i2c-via.c
i2c-viapro.c
i2c-viperboard.c
i2c-virtio.c virtio: wrap config->reset calls 2022-01-14 18:50:52 -05:00
i2c-wmt.c
i2c-xgene-slimpro.c i2c: xgene-slimpro: Fix wrong pointer passed to PTR_ERR() 2021-11-06 22:09:37 +01:00
i2c-xiic.c i2c: xiic: Correct the datatype for rx_watermark 2022-05-21 08:18:20 +02:00
i2c-xlp9xx.c i2c: Remove Netlogic XLP variant 2021-11-23 10:00:12 +01:00
Kconfig Merge tag 'irq-api-2022-02-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into i2c/for-mergewindow 2022-02-23 14:14:15 +01:00
Makefile i2c: Introduce common module to instantiate CCGx UCSI 2022-02-15 10:04:53 +01:00
scx200_acb.c