Skip to content

LE-Audio: BAP scan delegator does not send further notifications after add source or modify source are rejected by application layer #90655

@mefromac

Description

@mefromac

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):

  • based on v3.7 branch

Additional context

Metadata

Metadata

Assignees

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions