This unlinks the local BISes from the remote ones before removing them in the handler for the LE BIG Terminate Sync command, because, otherwise, the remote BISes will also be removed. --- emulator/btdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/emulator/btdev.c b/emulator/btdev.c index 08af873a2..70229d9ee 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -6604,6 +6604,9 @@ static int cmd_big_term_sync(struct btdev *dev, const void *data, uint8_t len) /* Cleanup existing connections */ while ((conn = queue_pop_head(big->bis))) { rsp.status = BT_HCI_ERR_SUCCESS; + + /* Unlink conn from remote BIS */ + conn_unlink(conn, conn->link); conn_remove(conn); } -- 2.43.0