Describe the bug
On v3.7 branch, after a add source or modify source operation rejected by the application code, the scan delegator does not send receive state update notification until the next accepted add or modify operation.
This behavior is caused by not resetting the BASS_RECV_STATE_INTERNAL_FLAG_NOTIFY_PEND flag when exiting with a GATT error on a non-zero return code from the user-implemented pa_sync_req or pa_sync_term_req callbacks, see e.g. https://github.com/zephyrproject-rtos/zephyr/blob/v3.7-branch/subsys/bluetooth/audio/bap_scan_delegator.c#L682.
To Reproduce
- Implement above mentioned callbacks that can return non-zero return codes
- Connect an assistant and send an add source request
- Observe that no notifications are sent after request was refused.
Expected behavior
No notification is sent right after the reject, but asynchronous updates should be sent, e.g. when the reject happen during BIS or PA synchronization.
Impact
Phone, e.g. Google Pixel 9 does not show the current state of the sink after reject, even if the sink starts playing a stream.
Logs and console output
Environment (please complete the following information):
Additional context