nRF5340_Audio application with LSM6DSOX interrupt issue

I'm trying to implement a fall detection feature on the headset side using the LSM6DSOX IMU sensor. The IMU is configured successfully, but the board halts after the INT1 pin is triggered.

*** Booting nRF Connect SDK v3.0.1-9eb5615da66b ***
*** Using Zephyr OS v4.0.99-77f865b8f8d0 ***
-- [00:00:00.296,264] <err> power_meas: INA231 device not ready: VBAT

HR [00:00:00.307,556] <inf> board_version: Compatible board/HW version found: 1.1.0
HR [00:00:00.340,026] <inf> fw_info: 
         nRF5340 Audio nRF5340 Audio DK cpuapp                      
         NCS base version: 3.0.1                            
         Cmake run : Mon Jul 14 13:28:15 2025
HR [00:00:00.340,026] <inf> fw_info: ------- DEBUG BUILD -------
HR [00:00:00.340,026] <inf> fw_info: HEADSET right device
HR [00:00:00.383,941] <inf> bt_mgmt_ctlr_cfg: Controller: SoftDevice: Version 6.0 (0x0e), Revision 8435
HR [00:00:00.384,155] <inf> bt_mgmt: Local identity addr: CE:49:BF:E7:ED:D8 (random)
HR [00:00:00.412,719] <wrn> unicast_server: CSIP using the default SIRK, must be changed before production
HR [00:00:00.415,893] <inf> bt_mgmt_adv: Local addr: 4A:A8:E3:5B:5C:DE (random)
HR [00:00:00.415,954] <inf> bt_mgmt_adv: Adv directed to: F3:FA:0C:7B:72:CA (random).
HR [00:00:00.416,534] <inf> bt_mgmt_adv: Advertising successfully started
HR [00:00:00.419,219] <inf> lsm6dsox: LSM6DSOX ready and ODR set to 416 Hz
HR [00:00:00.419,616] <inf> lsm6dsox: Wrote 0x40 to reg 0x56
HR [00:00:00.419,982] <inf> lsm6dsox: Wrote 0x80 to reg 0x58
HR [00:00:00.420,349] <inf> lsm6dsox: Wrote 0x00 to reg 0x5C
HR [00:00:00.420,715] <inf> lsm6dsox: Wrote 0xFB to reg 0x5D
HR [00:00:00.421,081] <inf> lsm6dsox: Wrote 0x10 to reg 0x5E
HR [00:00:00.654,510] <inf> bt_mgmt: Connected: F3:FA:0C:7B:72:CA (random)
HR [00:00:00.654,541] <inf> main: Connection event. Num connections: 1
HR [00:00:00.654,693] <inf> bt_mgmt_adv: RPA (Resolvable Private Address) expired.
HR [00:00:00.654,785] <inf> bt_mgmt_adv: Local addr: 4A:A8:E3:5B:5C:DE (random)
HR [00:00:00.725,738] <inf> main: Security changed
HR [00:00:00.725,860] <wrn> bt_gatt: Device is not subscribed to characteristic
HR [00:00:00.725,860] <wrn> bt_pacs: PACS notify failed: -22
HR [00:00:00.725,891] <wrn> bt_gatt: Device is not subscribed to characteristic
HR [00:00:00.725,921] <wrn> bt_pacs: PACS notify failed: -22
HR [00:00:01.315,582] <inf> bt_content_ctrl_media: Discovery of MCS finished
HR [00:00:02.066,406] <inf> le_audio: LC3 codec config for sink:
HR [00:00:02.066,436] <inf> le_audio:   Frequency: 24000 Hz
HR [00:00:02.066,436] <inf> le_audio:   Duration: 10000 us
HR [00:00:02.066,436] <inf> le_audio:   Channel allocation: 0x2
HR [00:00:02.066,436] <inf> le_audio:   Octets per frame: 60 (48000 bps)
HR [00:00:02.066,436] <inf> le_audio:   Frames per SDU: 1
HR [00:00:02.086,425] <inf> le_audio: LC3 codec config for source:
HR [00:00:02.086,425] <inf> le_audio:   Frequency: 24000 Hz
HR [00:00:02.086,425] <inf> le_audio:   Duration: 10000 us
HR [00:00:02.086,425] <inf> le_audio:   Channel allocation: 0x2
HR [00:00:02.086,456] <inf> le_audio:   Octets per frame: 60 (48000 bps)
HR [00:00:02.086,456] <inf> le_audio:   Frames per SDU: 1
HR [00:00:02.126,922] <inf> main: Presentation delay 5000 us is set by initiator
HR [00:00:02.126,953] <inf> main: Presentation delay 5000 us is set by initiator
HR [00:00:02.883,056] <inf> unicast_server: Stream 0x20011154 started
HR [00:00:02.884,033] <wrn> le_audio_rx: Not in streaming state (1), thrown 1 packet(s)
HR [00:00:02.903,228] <wrn> audio_datapath: I2S RX overrun. Single msg
HR [00:00:02.906,219] <wrn> audio_datapath: Data received, total under-runs: 10
HR [00:00:03.145,904] <inf> unicast_server: Stream 0x2001117c started
HR [00:00:03.147,216] <wrn> audio_datapath: Data received, total under-runs: 11
HR [00:00:03.147,247] <wrn> audio_datapath: I2S RX continuing stream
HR [00:00:10.393,920] <inf> main: Free-fall event detected on INT1
HR [00:00:10.403,961] <err> bt_hci_driver: No available ISO buffers (0)!
HR [00:00:10.407,470] <wrn> audio_datapath: I2S RX overrun. Single msg
HR [00:00:11.403,900] <err> bt_hci_driver: No available ISO buffers (100)!
HR [00:00:12.403,961] <err> bt_hci_driver: No available ISO buffers (200)!
HR [00:00:13.384,552] <err> bt_mgmt_ctlr_cfg: No response from IPC or controller
HR [00:00:13.384,552] <err> bt_mgmt_ctlr_cfg: ERR_CHK Err_code: [-116] @ line: 67
HR [00:00:13.384,552] <err> os: r0/a1:  0x00000003  r1/a2:  0x00000003  r2/a3:  0x00000002
HR [00:00:13.384,552] <err> os: r3/a4:  0x00000003 r12/ip:  0x200039b8 r14/lr:  0x00064c19
HR [00:00:13.384,582] <err> os:  xpsr:  0x01000025
HR [00:00:13.384,582] <err> os: s[ 0]:  0x00000043  s[ 1]:  0x00040200  s[ 2]:  0x20000200  s[ 3]:  0x01000003
HR [00:00:13.384,582] <err> os: s[ 4]:  0x00000020  s[ 5]:  0x20004238  s[ 6]:  0x00000000  s[ 7]:  0x000140db
HR [00:00:13.384,582] <err> os: s[ 8]:  0x000140a9  s[ 9]:  0x00043c25  s[10]:  0x20004238  s[11]:  0x00000000
HR [00:00:13.384,613] <err> os: s[12]:  0x000000ae  s[13]:  0x00000000  s[14]:  0x0006b138  s[15]:  0x000439a5
HR [00:00:13.384,613] <err> os: fpscr:  0x00000000
HR [00:00:13.384,613] <err> os: Faulting instruction address (r15/pc): 0x000092b2
HR [00:00:13.384,643] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
HR [00:00:13.384,643] <err> os: Fault during interrupt handling

HR [00:00:13.384,674] <err> os: Current thread: 0x200059a0 (idle)
HR [00:00:13.384,674] <err> error_handler: Caught system error -- reason 3. Entering infinite loop

The callback function only logs the message.

void ff_gpio_callback(const struct device *port, struct gpio_callback *cb, uint32_t pins)
{
    LOG_INF("Free-fall event detected on INT1");
}


Related