-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bluetooth: Controller does not release buffer on central side after peripheral reset #21299
Comments
@joerchan It looks like the same test case. I stuck mostly on PHY Update which used the same buffer like that request in NCSDK-3751 but the rest of issue descriptions is the same |
@KAGA164 Could you please provide me the samples and the commit hash to reproduce the issue? I will check the samples/bluetooth/peripheral vs samples/bluetooth/central_hr with added bt_conn_security_set, hope I can reproduce. But it is always best if the issue report has better details for reproducing, to speed up on the resolution. |
Overlapping Feature Exchange requested by host with Encryption Setup requested by the application caused the controller to corrupt its Tx queue leading to Tx Ctrl PDU buffers from leaking from the system. Fixes zephyrproject-rtos#21299. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Overlapping Feature Exchange requested by host with Encryption Setup requested by the application caused the controller to corrupt its Tx queue leading to Tx Ctrl PDU buffers from leaking from the system. Relates to zephyrproject-rtos#21299. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Overlapping Feature Exchange requested by host with Encryption Setup requested by the application caused the controller to corrupt its Tx queue leading to Tx Ctrl PDU buffers from leaking from the system. Fixes #21299. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Overlapping Feature Exchange requested by host with Encryption Setup requested by the application caused the controller to corrupt its Tx queue leading to Tx Ctrl PDU buffers from leaking from the system. Relates to #21299. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Overlapping Feature Exchange requested by host with Encryption Setup requested by the application caused the controller to corrupt its Tx queue leading to Tx Ctrl PDU buffers from leaking from the system. Relates to zephyrproject-rtos#21299. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Overlapping Feature Exchange requested by host with Encryption Setup requested by the application caused the controller to corrupt its Tx queue leading to Tx Ctrl PDU buffers from leaking from the system. Relates to #21299. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
I probably found a problem with connection between two Bluetooth device after I three time reset the peripheral side. This is always the third reset which causes problem with connection. In this file:
https://github.com/zephyrproject-rtos/zephyr/blob/master/subsys/bluetooth/controller/ll_sw/ull_conn.c
is
where CONN_TX_CTRL_BUFFERS is defined:
In default configuration this is equal to 4
So I discovered that every accidental peripheral device disconnection like reset or power down,
takes one buffer from this pool and this buffer is probably not release any more. So when I reset peripheral side third time, on reconnection at central side I am beyond this buffer when central device want to send link layer stuff for example phy update and connection is terminated. After that device try to connect and immediately disconnect in loop util one of them get the Hard Fault error.
I try to increase the CONN_TX_CTRL_BUFFERS to 10 then I can reset the peripheral device nine time.
I use two nrf52_pca10040 board. One is the peripheral side. I use secutity level 2 with encryption and bonding.
Steps to reproduce the behavior:
peripheral board is disconnected(reason 34) on central (reason 8) (but it seems like central send corrupted link layer frame) in loop
The text was updated successfully, but these errors were encountered: