android_kernel_motorola_sm6375/drivers/pinctrl
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Bartosz Golaszewski 6a89563ccf pinctrl: qcom: msm: mark certain pins as invalid for interrupts
commit 93712205ce2f1fb047739494c0399a26ea4f0890 upstream.

On some platforms, the UFS-reset pin has no interrupt logic in TLMM but
is nevertheless registered as a GPIO in the kernel. This enables the
user-space to trigger a BUG() in the pinctrl-msm driver by running, for
example: `gpiomon -c 0 113` on RB2.

The exact culprit is requesting pins whose intr_detection_width setting
is not 1 or 2 for interrupts. This hits a BUG() in
msm_gpio_irq_set_type(). Potentially crashing the kernel due to an
invalid request from user-space is not optimal, so let's go through the
pins and mark those that would fail the check as invalid for the irq chip
as we should not even register them as available irqs.

This function can be extended if we determine that there are more
corner-cases like this.

Fixes: f365be0925 ("pinctrl: Add Qualcomm TLMM driver")
Cc: stable@vger.kernel.org
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250612091448.41546-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-17 18:25:03 +02:00
..
actions
aspeed
bcm pinctrl: bcm281xx: Use "unsigned int" instead of bare "unsigned" 2025-06-04 14:32:32 +02:00
berlin
cirrus pinctrl: lochnagar: Don't build on MIPS 2024-01-25 14:34:19 -08:00
freescale pinctrl: freescale: mxs: Fix refcount of child 2024-08-19 05:33:34 +02:00
intel pinctrl: cherryview: Return correct value if pin in push-pull mode 2023-07-27 08:37:16 +02:00
mediatek pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback 2024-05-17 11:43:56 +02:00
meson pinctrl: meson: define the pull up/down resistor value as 60 kOhm 2025-06-04 14:32:34 +02:00
mvebu pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get() 2025-06-27 11:02:55 +01:00
nomadik
nuvoton
pxa
qcom pinctrl: qcom: msm: mark certain pins as invalid for interrupts 2025-07-17 18:25:03 +02:00
samsung
sh-pfc
sirf
spear
sprd
stm32
sunxi
tegra
ti pinctrl: ti: ti-iodelay: fix possible memory leak when pinctrl_enable() fails 2024-08-19 05:33:34 +02:00
uniphier
vt8500
zte
core.c pinctrl: core: fix possible memory leak when pinctrl_enable() fails 2024-08-19 05:33:34 +02:00
core.h
devicetree.c pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map 2025-06-04 14:32:33 +02:00
devicetree.h
Kconfig
Makefile
pinconf-generic.c
pinconf.c
pinconf.h
pinctrl-amd.c pinctrl: amd: Don't show Invalid config param errors 2023-09-23 10:59:37 +02:00
pinctrl-amd.h pinctrl: amd: Detect internal GPIO0 debounce handling 2023-07-27 08:37:34 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c pinctrl: at91-pio4: use dedicated lock class for IRQ 2024-01-08 11:29:45 +01:00
pinctrl-at91.c pinctrl: at91: Fix possible out-of-boundary access 2025-06-27 11:02:46 +01:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl-bm1880.c
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
pinctrl-digicolor.c
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl-ingenic.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl-max77620.c
pinctrl-mcp23s08.c pinctrl: mcp23s08: Fix sleeping in atomic context due to regmap locking 2025-01-09 13:23:37 +01:00
pinctrl-ocelot.c
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set 2024-07-05 09:08:26 +02:00
pinctrl-rza1.c
pinctrl-rza2.c pinctrl: renesas: rza2: Fix missing of_node_put() call 2025-04-10 14:29:40 +02:00
pinctrl-rzn1.c
pinctrl-single.c pinctrl: single: fix missing error code in pcs_probe() 2024-11-08 16:20:31 +01:00
pinctrl-st.c
pinctrl-stmfx.c
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-u300.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c
pinmux.c
pinmux.h