linux-stable/drivers/pinctrl
Gaosheng Cui 3650943bab pinctrl: thunderbay: fix possible memory leak in thunderbay_build_functions()
[ Upstream commit 83e1bcaf8c ]

The thunderbay_add_functions() will free memory of thunderbay_funcs
when everything is ok, but thunderbay_funcs will not be freed when
thunderbay_add_functions() fails, then there will be a memory leak,
so we need to add kfree() when thunderbay_add_functions() fails to
fix it.

In addition, doing some cleaner works, moving kfree(funcs) from
thunderbay_add_functions() to thunderbay_build_functions().

Fixes: 12422af819 ("pinctrl: Add Intel Thunder Bay pinctrl driver")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20221129120126.1567338-1-cuigaosheng1@huawei.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-31 13:26:09 +01:00
..
actions
aspeed Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
bcm Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
berlin pinctrl: berlin: bg4ct: Use devm_platform_*ioremap_resource() APIs 2022-05-22 22:45:47 +02:00
cirrus
freescale Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
intel pinctrl: intel: Save and restore pins in "direct IRQ" mode 2022-12-08 11:30:19 +01:00
mediatek pinctrl: mediatek: fix the pinconf register offset of some pins 2022-12-31 13:25:57 +01:00
meson intel-gpio for v5.19-1 2022-05-04 23:15:21 +02:00
mvebu Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
nomadik pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map 2022-06-15 16:04:01 +02:00
nuvoton Pin control bulk changes for the v5.19 series: 2022-05-28 11:15:54 -07:00
pxa
qcom pinctrl: qcom: sc8280xp: Rectify UFS reset pins 2022-12-02 17:43:15 +01:00
ralink pinctrl: ralink: Check for null return of devm_kcalloc 2022-07-11 14:40:17 +02:00
renesas Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
samsung pinctrl: samsung: do not use bindings header with constants 2022-06-28 15:55:20 +02:00
spear
sprd
stm32 pinctrl: stm32: fix optional IRQ support to gpios 2022-06-28 16:12:40 +02:00
sunplus pinctrl: sunplus: Add check for kcalloc 2022-07-11 15:04:19 +02:00
sunxi pinctrl: sunxi: Fix name for A100 R_PIO 2022-08-26 10:37:24 +02:00
tegra pinctrl: tegra: tegra194: drop unused pin groups 2022-05-04 23:40:05 +02:00
ti
uniphier
visconti
vt8500
Kconfig Pin control bulk changes for v6.0: 2022-08-10 11:01:44 -07:00
Makefile pinctrl: nuvoton: Add driver for WPCM450 2022-03-15 01:16:20 +01:00
core.c pinctrl: core: Use device_match_of_node() helper 2022-07-18 11:38:37 +02:00
core.h
devicetree.c pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map 2022-11-26 09:27:31 +01:00
devicetree.h
pinconf-generic.c pinctrl: pinconf-generic: add missing of_node_put() 2022-12-31 13:26:03 +01:00
pinconf.c
pinconf.h
pinctrl-amd.c pinctrl: amd: change dev_warn to dev_dbg for additional feature support 2022-10-26 12:22:55 +02:00
pinctrl-amd.h pinctrl: amd: Implement pinmux functionality 2022-06-15 15:54:20 +02:00
pinctrl-apple-gpio.c pinctrl: apple: Use a raw spinlock for the regmap 2022-05-25 09:37:44 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: remove #ifdef CONFIG_PM_SLEEP 2022-07-18 11:38:36 +02:00
pinctrl-at91.c pinctrl: at91: Fix typo 'the the' in comment 2022-07-26 09:53:35 +02:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: axp209: Support the AXP221/AXP223/AXP809 variant 2022-06-30 14:05:57 +02:00
pinctrl-bm1880.c
pinctrl-da850-pupd.c
pinctrl-da9062.c
pinctrl-digicolor.c
pinctrl-equilibrium.c pinctrl: equilibrium: Switch to use fwnode instead of of_node 2022-05-09 13:46:51 +02:00
pinctrl-equilibrium.h pinctrl: equilibrium: Switch to use fwnode instead of of_node 2022-05-09 13:46:51 +02:00
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: Ingenic: JZ4755 bug fixes 2022-11-04 00:00:24 +09:00
pinctrl-k210.c pinctrl: k210: call of_node_put() 2022-12-31 13:26:01 +01:00
pinctrl-keembay.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c pinctrl: max77620: drop unneeded MODULE_ALIAS 2022-04-22 22:56:46 +02:00
pinctrl-mcp23s08.c
pinctrl-mcp23s08.h
pinctrl-mcp23s08_i2c.c
pinctrl-mcp23s08_spi.c
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: Switch to use fwnode instead of of_node 2022-05-09 13:47:49 +02:00
pinctrl-ocelot.c pinctrl: ocelot: add missing destroy_workqueue() in error path in ocelot_pinctrl_probe() 2022-12-31 13:25:50 +01:00
pinctrl-oxnas.c
pinctrl-palmas.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: fix use of irq_of_parse_and_map() 2022-04-24 16:24:09 +02:00
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: rockchip: list all pins in a possible mux route for PX30 2022-11-26 09:27:28 +01:00
pinctrl-rockchip.h pinctrl/rockchip: add rk3588 support 2022-04-29 00:55:02 +02:00
pinctrl-single.c pinctrl: single: Fix potential division by zero 2022-12-08 11:30:20 +01:00
pinctrl-st.c
pinctrl-starfive.c pinctrl: starfive: Serialize adding groups and functions 2022-07-11 10:22:57 +02:00
pinctrl-stmfx.c
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-thunderbay.c pinctrl: thunderbay: fix possible memory leak in thunderbay_build_functions() 2022-12-31 13:26:09 +01:00
pinctrl-utils.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-utils.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
pinctrl-xway.c
pinctrl-zynq.c pinctrl: zynq: use module_platform_driver to simplify the code 2022-03-15 01:46:13 +01:00
pinctrl-zynqmp.c Revert "pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance" 2022-11-04 00:00:24 +09:00
pinmux.c
pinmux.h