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:
Jonathan Rico 2024-08-14 09:40:50 +02:00 committed by Fabio Baltieri
commit 80a92f51a5

View file

@ -1117,6 +1117,7 @@ static void process_unack_tx(struct bt_conn *conn)
node = sys_slist_get(&conn->tx_pending);
if (!node) {
bt_tx_irq_raise();
return;
}