[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