linux/drivers/clk
Johan Hovold 865e8344ad clk: tegra: tegra124-emc: fix device leak on set_rate()
[ Upstream commit da61439c63 ]

Make sure to drop the reference taken when looking up the EMC device and
its driver data on first set_rate().

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Fixes: 2db04f16b5 ("clk: tegra: Add EMC clock driver")
Fixes: 6d6ef58c24 ("clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver")
Cc: stable@vger.kernel.org	# 4.2: 6d6ef58c24
Cc: Mikko Perttunen <mperttunen@nvidia.com>
Cc: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-04-18 10:33:07 +02:00
..
actions clk: actions: Terminate clk_div_table with sentinel element 2022-04-08 14:23:48 +02:00
analogbits clk: analogbits: Fix incorrect calculation of vco rate delta 2025-03-13 12:49:58 +01:00
at91 clk: at91: clk-master: Add check for divide by 3 2025-12-07 06:09:24 +09:00
axis treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
axs10x clk: axs10x: use devm_platform_ioremap_resource() to simplify code 2019-10-16 16:17:50 -07:00
baikal-t1 clk: baikal-t1: Add SATA internal ref clock buffer 2022-10-26 12:35:20 +02:00
bcm clk: bcm: rpi: Add NULL check in raspberrypi_clk_register() 2025-06-27 11:05:13 +01:00
berlin clk: berlin: Add of_node_put() for of_get_parent() 2022-10-26 12:35:04 +02:00
davinci clk: davinci: Add NULL check in davinci_lpsc_clk_register() 2025-08-28 16:24:09 +02:00
h8300 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
hisilicon clk: hisilicon: hi3559a: Fix an erroneous devm_kfree() 2024-03-26 18:21:29 -04:00
imgtec treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
imx clk: imx8mp: inform CCF of maximum frequency of clocks 2025-06-04 14:37:59 +02:00
ingenic clk: ingenic: jz4760: Update M/N/OD calculation algorithm 2023-02-14 19:18:03 +01:00
keystone clk: keystone: pll: fix a couple NULL vs IS_ERR() checks 2023-11-20 11:08:17 +01:00
loongson1 clk: loongson1: Terminate clk_div_table with sentinel element 2022-04-08 14:23:48 +02:00
mediatek clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data 2023-11-20 11:08:18 +01:00
meson clk: meson: gxbb: Limit the HDMI PLL OD to /4 on GXL/GXM SoCs 2026-03-04 07:19:45 -05:00
microchip clk: microchip: core: correct return value on *_get_parent() 2026-03-04 07:20:15 -05:00
mmp clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() 2024-02-23 08:54:48 +01:00
mstar clk: mstar: msc313-mpll: Fix format specifier 2021-02-16 12:52:28 -08:00
mvebu clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4 2026-01-19 13:09:47 +01:00
mxs treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 159 2019-05-30 11:26:37 -07:00
nxp clk: nxp: Fix pll0 rate check condition in LPC18xx CGU driver 2025-10-19 16:21:40 +02:00
pistachio clk: pistachio: Make it selectable for generic MIPS kernel 2021-08-12 16:01:49 +02:00
pxa clk: pxa: Constify static struct clk_ops 2020-10-13 19:49:11 -07:00
qcom clk: qcom: dispcc-sdm845: Enable parents for pixel clocks 2026-03-04 07:19:45 -05:00
ralink clk: ralink: avoid to set 'CLK_IS_CRITICAL' flag for gates 2021-08-28 22:24:06 -07:00
renesas clk: renesas: r9a06g032: Fix memory leak in error path 2026-01-19 13:09:29 +01:00
rockchip clk: rockchip: rk3036: mark ddrphy as critical 2025-06-27 11:05:32 +01:00
samsung clk: samsung: Fix UBSAN panic in samsung_clk_init() 2025-04-10 14:31:59 +02:00
sifive clk: sifive: Do not register clkdevs for PRCI clocks 2024-07-05 09:14:15 +02:00
socfpga clk: socfpga: Fix undefined behavior bug in struct stratix10_clock_data 2023-11-28 16:56:28 +00:00
spear clk: spear: Move prototype to accessible header 2021-02-11 11:56:06 -08:00
sprd clk: sprd: set max_register according to mapping range 2023-04-20 12:13:52 +02:00
st clk: st: Fix memory leak in st_of_quadfs_setup() 2022-12-31 13:14:43 +01:00
sunxi clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource() 2022-05-09 09:14:37 +02:00
sunxi-ng clk: sunxi-ng: v3s: Fix de clock definition 2025-08-28 16:24:10 +02:00
tegra clk: tegra: tegra124-emc: fix device leak on set_rate() 2026-04-18 10:33:07 +02:00
ti clk: ti: am33xx: keep WKUP_DEBUGSS_CLKCTRL enabled 2025-12-07 06:09:25 +09:00
uniphier clk: uniphier: Fix fixed-rate initialization 2022-04-08 14:22:50 +02:00
ux500 mfd: db8500-prcmu: Handle missing FW variant 2021-08-09 09:33:29 +01:00
versatile clk: versatile: Depend on HAS_IOMEM 2021-06-04 12:23:28 -07:00
x86 clk: mxl: syscon_node_to_regmap() returns error pointers 2023-02-25 12:06:43 +01:00
xilinx clk: xilinx: vcu: unregister pll_post only if registered correctly 2025-08-28 16:24:09 +02:00
zynq clk: zynq: Prevent null pointer dereference caused by kmalloc failure 2024-03-26 18:21:32 -04:00
zynqmp Revert "drivers: clk: zynqmp: update divider round rate logic" 2024-12-14 19:51:12 +01:00
clk-asm9260.c clk: asm9260: use parent index to link the reference clock 2024-01-25 14:52:44 -08:00
clk-aspeed.c clk: aspeed: Add RMII RCLK gates for both AST2500 MACs 2019-11-26 10:02:48 -08:00
clk-aspeed.h clk: aspeed: Move structures to header 2019-09-06 15:17:02 -07:00
clk-ast2600.c clk: ast2600: BCLK comes from EPLL 2022-10-26 12:35:20 +02:00
clk-axi-clkgen.c clk: clk-axi-clkgen: fix fpfd_max frequency for zynq 2025-08-28 16:24:09 +02:00
clk-axm5516.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-bd718x7.c clk: bd718xx: Drop BD70528 support 2021-06-27 18:42:45 -07:00
clk-bm1880.c clk: bm1880: remove kfrees on static allocations 2022-01-27 11:04:20 +01:00
clk-bulk.c clk: Make clk_bulk_get_all() return a valid "id" 2019-09-17 13:26:31 -07:00
clk-cdce706.c Replace HTTP links with HTTPS ones: Common CLK framework 2020-07-10 17:15:34 -07:00
clk-cdce925.c clk: cdce925: check return value of kasprintf() 2023-07-23 13:47:09 +02:00
clk-clps711x.c clk: clps711x: Terminate clk_div_table with sentinel element 2022-04-08 14:23:48 +02:00
clk-composite.c clk: composite: Also consider .determine_rate for rate + mux composites 2021-10-18 12:59:42 -07:00
clk-conf.c clk: add missing of_node_put() in "assigned-clocks" property parsing 2023-05-11 23:00:36 +09:00
clk-cs2000-cp.c clk: cs2000-cp: convert to SPDX identifiers 2018-08-02 13:55:00 -07:00
clk-devres.c clk: Fix slab-out-of-bounds error in devm_clk_release() 2023-08-30 16:18:16 +02:00
clk-divider.c clk: divider: Implement and wire up .determine_rate by default 2021-08-05 17:35:58 -07:00
clk-fixed-factor.c clk: fixed: fix double free in resource managed fixed-factor clock 2021-04-07 16:01:25 -07:00
clk-fixed-mmio.c clk: clk-fixed-mmio: Demote obvious kernel-doc abuse 2021-02-11 11:56:05 -08:00
clk-fixed-rate.c clk: fixed-rate: add devm_clk_hw_register_fixed_rate 2024-01-25 14:52:44 -08:00
clk-fractional-divider.c clk: fractional-divider: Document the arithmetics used behind the code 2021-08-12 12:42:00 -07:00
clk-fractional-divider.h clk: fractional-divider: Hide clk_fractional_divider_ops from wide audience 2021-08-12 12:42:00 -07:00
clk-fsl-flexspi.c clk: fsl-flexspi: new driver 2020-12-07 16:56:41 -08:00
clk-fsl-sai.c clk: fsl-sai: use devm_clk_hw_register_composite_pdata() 2020-12-07 14:06:16 -08:00
clk-gate.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
clk-gemini.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-gpio.c Replace HTTP links with HTTPS ones: Common CLK framework 2020-07-10 17:15:34 -07:00
clk-hi655x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
clk-highbank.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
clk-hsdk-pll.c CLK: HSDK: CGU: add support for 148.5MHz clock 2020-05-28 21:06:39 -07:00
clk-k210.c clk: k210: Fix k210_clk_set_parent() 2021-06-30 11:34:36 -07:00
clk-lmk04832.c clk: lmk04832: drop redundant fallthrough statements 2021-07-27 11:52:30 -07:00
clk-lochnagar.c clk: lochnagar: Don't reference clk_init_data after registration 2019-08-16 10:20:07 -07:00
clk-max9485.c clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
clk-max77686.c clk: clk-max77686: Clean clkdev lookup leak and use devm 2019-02-06 10:35:03 -08:00
clk-milbeaut.c clk: milbeaut: Don't reference clk_init_data after registration 2019-08-16 10:20:15 -07:00
clk-moxart.c clk: Convert to using %pOF instead of full_name 2017-07-21 15:49:54 -07:00
clk-multiplier.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-mux.c clk: mux: provide devm_clk_hw_register_mux() 2021-04-07 11:05:44 -07:00
clk-nomadik.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
clk-npcm7xx.c clk: npcm7xx: Fix incorrect kfree 2023-11-20 11:08:18 +01:00
clk-nspire.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-oxnas.c clk: oxnas: Hold reference returned by of_get_parent() 2022-10-26 12:35:03 +02:00
clk-palmas.c clk: palmas: Add a missing SPDX license header 2021-08-05 17:34:30 -07:00
clk-plldig.c clk: ls1028a: fix a dereference of pointer 'parent' before a null check 2020-02-03 23:03:49 -08:00
clk-pwm.c clk: pwm: drop of_match_ptr from of_device_id table 2020-12-10 12:24:18 -08:00
clk-qoriq.c clk: qoriq: Hold reference returned by of_get_parent() 2022-10-26 12:35:04 +02:00
clk-rk808.c - Core Frameworks 2019-07-15 20:18:40 -07:00
clk-s2mps11.c clk: s2mps11: Fix a resource leak in error handling paths in the probe function 2020-12-19 15:53:31 -08:00
clk-scmi.c clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped 2023-11-20 11:08:21 +01:00
clk-scpi.c clk: scpi: mark scpi_clk_match as maybe unused 2020-12-10 12:24:40 -08:00
clk-si514.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
clk-si544.c clk: clk-si544: Implement small frequency change support 2019-06-27 13:45:38 -07:00
clk-si570.c clk: si570: Skip NVM to RAM recall operation if an optional property is set 2021-02-11 12:13:50 -08:00
clk-si5341.c clk: si5341: fix an error code problem in si5341_output_clk_set_rate 2024-01-25 14:52:44 -08:00
clk-si5351.c clk: si5351: Wait for bit clear after PLL reset 2020-12-19 15:49:54 -08:00
clk-si5351.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
clk-sparx5.c clk: sparx5: Add Sparx5 SoC DPLL clock driver 2020-07-28 18:17:56 -07:00
clk-stm32f4.c clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system enter shell 2022-01-27 11:04:12 +01:00
clk-stm32h7.c clk: stm32h7: Switch to clk_divider.determine_rate 2021-08-05 17:36:10 -07:00
clk-stm32mp1.c clk: stm32mp1: Switch to clk_divider.determine_rate 2021-08-05 17:36:10 -07:00
clk-twl6040.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
clk-versaclock5.c clk: vc5: check memory returned by kasprintf() 2023-07-23 13:47:09 +02:00
clk-vt8500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
clk-wm831x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
clk-xgene.c clk: clk-xgene: Add description for 'mask' and fix formatting for 'flags' 2021-02-11 11:56:06 -08:00
clk.c clk: check for disabled clock-provider in of_clk_get_hw_from_clkspec() 2025-05-02 07:44:34 +02:00
clk.h clk: consoldiate the __clk_get_hw() declarations 2019-07-12 11:00:14 -07:00
clkdev.c clkdev: remove unused clkdev_alloc() interfaces 2021-06-08 17:00:09 +02:00
Kconfig clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM 2023-09-19 12:22:28 +02:00
Makefile clk: pistachio: Make it selectable for generic MIPS kernel 2021-08-12 16:01:49 +02:00