Fix multi-advertising when LE Privacy is not available
This patch fixes a bug that caused all multi-advertising instances to be initialized with Instance ID 0 (which is not allowed by the stack), if LE privacy is not available. The problem was that the internal data structures that represent advertising instances were not getting their |inst_id| field initialized where it's supposed to. Although far from clean, this code worked before. The culprit for the regression is "1b24cb02 Random address does not get written properly", which moved the initialization of instance IDs from the loop in BTM_BleEnableAdvInstance to btm_ble_multi_adv_enb_privacy. The latter never gets called if privacy is not available, which leads to partially initialized structures. Obviously both of these places were wrong to begin with. I saw the word "init" in a function called btm_ble_multi_adv_init. I figured this might have something to do with initializing, so I moved the logic there. Bug: 21267281 Change-Id: I38b9a2a71cd3f45feb267a13bf29f93564ee6075
Loading
Please register or sign in to comment