diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 1b25fc23..ec533b34 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,8 @@ HEAD ---- - RESOLVED: Enumeration issue when MAX_MIX_COUNT > 0. Introduced in mixer optimisations in 6.11.0 + - RESOLVED: Potential build issue due to duplicate labels in inline asm in + set_interrupt_handler macro - CHANGE: HID report descriptor defines added to shared user_hid.h 6.11.1 diff --git a/module_usb_audio/usb_buffer/interrupt.h b/module_usb_audio/usb_buffer/interrupt.h index d52ee1b7..044258f6 100644 --- a/module_usb_audio/usb_buffer/interrupt.h +++ b/module_usb_audio/usb_buffer/interrupt.h @@ -160,11 +160,11 @@ #define set_interrupt_handler(f, nstackwords, args, c, ...) \ asm (" .section .dp.data, \"adw\", @progbits\n" \ " .align 4\n" \ - "__" #f "_kernel_stack:\n" \ + "__" #f "_kernel_stack%=:\n" \ " .space " #nstackwords ", 0\n" \ - " .text\n"); \ - asm("mov r10, %0; ldaw r11, dp[__" #f "_kernel_stack];add r11, r11, r10;ldaw r10, sp[0]; "\ - "set sp,r11;stw r10, sp[0]; krestsp 0"::"r"(nstackwords-8):"r10","r11"); \ + " .text\n" \ + "mov r10, %0; ldaw r11, dp[__" #f "_kernel_stack%=];add r11, r11, r10;ldaw r10, sp[0]; "\ + "set sp,r11;stw r10, sp[0]; krestsp 0"::"r"(nstackwords-8):"r10","r11"); \ store_args ## args(c, __VA_ARGS__) \ do_interrupt_handler(f, args) \ asm("ldap r11, __" #f "_handler; setv res[%0],r11"::"r"(c):"r11"); \