Bluetooth: iso: Allow BIG re-sync
authorIulia Tanasescu <iulia.tanasescu@nxp.com>
Thu, 28 Nov 2024 15:54:05 +0000 (17:54 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tue, 14 Jan 2025 21:29:47 +0000 (16:29 -0500)
commit0e6dfac5f2c4e54ccbfbb46d69c0fe0dba857a6f
treed01e231f5071c197a3394f77eb8472a7b818d3d1
parentd90e36f8364d99c737fe73b0c49a51dd5e749d86
Bluetooth: iso: Allow BIG re-sync

A Broadcast Sink might require BIG sync to be terminated and
re-established multiple times, while keeping the same PA sync
handle active. This can be possible if the configuration of the
listening (PA sync) socket is reset once all bound BISes are
established and accepted by the user space:

1. The DEFER setup flag needs to be reset on the parent socket,
to allow another BIG create sync procedure to be started on socket
read.

2. The BT_SK_BIG_SYNC flag needs to be cleared on the parent socket,
to allow another BIG create sync command to be sent.

3. The socket state needs to transition from BT_LISTEN to BT_CONNECTED,
to mark that the listening process has completed and another one can
be started if needed.

Signed-off-by: Iulia Tanasescu <iulia.tanasescu@nxp.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/iso.c