Bluetooth: Host: Add missing bt_tx_irq_raise()
Trigger the TX processor on connection teardown. When a disconnection happens before the controller has acknowledged some ACL fragments the host has sent, we run `process_unack_tx()` to free those unacknowledged buffers and their associated TX contexts. The problem is that the TX processor still holds a reference to the conn object. That reference is not released until the TX processor is triggered again and figures out that the connection is invalid. Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
This commit is contained in:
parent
043de7da2a
commit
80a92f51a5
1 changed files with 1 additions and 0 deletions
|
@ -1117,6 +1117,7 @@ static void process_unack_tx(struct bt_conn *conn)
|
||||||
node = sys_slist_get(&conn->tx_pending);
|
node = sys_slist_get(&conn->tx_pending);
|
||||||
|
|
||||||
if (!node) {
|
if (!node) {
|
||||||
|
bt_tx_irq_raise();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue