This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 3f32706303bfc0a0dcc4cb84f20b2372ebb94a04
Author: Marco Casaroli <[email protected]>
AuthorDate: Mon Nov 2 10:55:08 2026 +0100

    arch/avr/src/avrdx: Leave the critical section when no swint vector is free.
    
    avrdx_swint_allocate() enters a critical section to search for a free
    software interrupt vector.  When it found none, it returned 0 without
    leave_critical_section(), so the caller continued with interrupts
    disabled.  Leave the critical section before this return too.
    
    Assisted-by: Claude Code:claude-opus-5-5
    Signed-off-by: Marco Casaroli <[email protected]>
---
 arch/avr/src/avrdx/avrdx_swint.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/avr/src/avrdx/avrdx_swint.c b/arch/avr/src/avrdx/avrdx_swint.c
index d3173c413ee..0d13060da00 100644
--- a/arch/avr/src/avrdx/avrdx_swint.c
+++ b/arch/avr/src/avrdx/avrdx_swint.c
@@ -214,6 +214,7 @@ avrdx_swint_size_t avrdx_swint_allocate(xcpt_t handler, 
void *arg)
 
   if (i == CONFIG_AVRDX_SWINT_MAX_VECTORS)
     {
+      leave_critical_section(irqflags);
       return 0;
     }
 

Reply via email to