le_periodic_sync_manager: Check if established sync was pending
That check prevents from executing operations on periodic_sync which was not started yet. That is possible when there are two requests for the same broadcaster, typical on pair of buds. Fail scenario with inactive broadcaster: 1. HandleStartSyncRequest with periodic_sync A 2. OnStartSyncTimeout inform upper layer about A failure, cancel and remove A 3. HandleStartSyncRequest with periodic_sync B (the same broadcaster) 4. HandleLePeriodicAdvertisingSyncEstablished with error 68 because of canceling A, informing upper layer about B failure because A is already removed, removing B. Bug: 354890418 Test: atest PeriodicSyncManagerTest Flag: Exempt, trivial fix covered with unit test Change-Id: I67f4949e2cdd02c5e9757515393f6ce43ca627db
Loading
Please register or sign in to comment