Bus Fault with "bt_le_adv_stop", nrf52832

Hi Team,

I am in process of modifying our existing app to work as "just works". For doing this, I disabled the callbacks in bt_conn_auth_cb:

static struct bt_conn_auth_cb conn_auth_callbacks = {
//	.passkey_display = auth_passkey_display,
//	.passkey_confirm = auth_passkey_confirm,
	.passkey_confirm = NULL,
	.passkey_display = NULL,

	.cancel = auth_cancel,
	.pairing_complete = pairing_complete,
	.pairing_failed = pairing_failed
};

However, with above change when I run my application it is saying BUS FAULT (Precise data bus error):

: ***** BUS FAULT *****
E:   Precise data bus error
E:   BFAR Address: 0xbf080f05
E: r0/a1:  0x00000020  r1/a2:  0xbf080f05  r2/a3:  0xbf080f05
E: r3/a4:  0x00000020 r12/ip:  0x00000000 r14/lr:  0x0003ac41
E:  xpsr:  0x01000200
E: s[ 0]:  0x00000000  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00000000
E: s[ 4]:  0x00000000  s[ 5]:  0x00000000  s[ 6]:  0x00000000  s[ 7]:  0x00000000
E: s[ 8]:  0x00000000  s[ 9]:  0x00000000  s[10]:  0x00000000  s[11]:  0x00000000
E: s[12]:  0x00000000  s[13]:  0x00000000  s[14]:  0x00000000  s[15]:  0x00000000
E: fpscr:  0x00000000
E: Faulting instruction address (r15/pc): 0x0003abde
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x20002be8 (main)

On digging, I figured out that it is happening from the bt_le_adv_stop(). In our application, we stop BLE advertisement, set Adv parameter and then start advertisement every time.

If I disable this bt_le_adv_stop() or put back the ".passkey_display = auth_passkey_display", I don't see crash or BUS Error.

Could you please let me know what might be causing this BUS Fault? And how to debug this further?

Here is the snippet of the Ozone debugger when error occurred:

Thanks!

Parents Reply Children
No Data
Related