[PATCH v2] gpio: nuvoton: Fix sgpio irq handle error
Dan Carpenter
dan.carpenter at linaro.org
Mon Apr 29 16:30:01 AEST 2024
On Mon, Apr 29, 2024 at 02:06:42PM +0800, Jim Liu wrote:
> User use gpiomon to monitor input pin ,if triger the system will call trace and rcu stall.
>
> The irq_handler uses generic_handle_domain_irq, so there is need to remove irq_find_mapping.
>
> Fixes: c4f8457d17ce ("gpio: nuvoton: Add Nuvoton NPCM sgpio driver")
> Signed-off-by: Jim Liu <JJLIU0 at nuvoton.com>
> ---
> Changes for v2:
> - add more description
Part of the commit is missing so it will break the build.
drivers/gpio/gpio-npcm-sgpio.c: In function ‘npcm_sgpio_irq_handler’:
drivers/gpio/gpio-npcm-sgpio.c:437:28: warning: unused variable ‘girq’ [-Wunused-variable]
437 | unsigned int i, j, girq;
| ^~~~
Thanks for improving the commit message and adding a Fixes tag. That's
very helpful, but it still can be improved a bit.
======================================
Subject: [PATCH v3] gpio: nuvoton: Fix stall in npcm_sgpio_irq_handler()
The generic_handle_domain_irq() function calls irq_resolve_mapping()
so calling irq_find_mapping() is duplicative and will lead to a stack
trace and an RCU stall.
[ cut and paste the call trace here]
Fixes: c4f8457d17ce ("gpio: nuvoton: Add Nuvoton NPCM sgpio driver")
Signed-off-by:
======================================
Otherwise it looks good. Please fix and resend.
regards,
dan carpenter
More information about the openbmc
mailing list