[Model] Lux
[BinType] AP
[Customer] OPEN
[Issue#] N/A
[Request] Internal
[Occurrence Version] N/A
[Problem] Use vendor adv command only when multipled adv is supported
[Cause & Measure]
[Checking Method]
[Team] IoT Hub
[Developer] Deokhyun Kim
[Solution company] Samsung
[Change Type] Specification change
Change-Id: If927170563471b35b67a6312af470690e06d630f
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
memset(&le_adv_slot[slot_id], 0x00, sizeof(bt_adapter_le_adv_slot_t));
}
memset(&le_adv_slot[slot_id], 0x00, sizeof(bt_adapter_le_adv_slot_t));
}
-int _bt_hal_get_available_adv_slot_id(bt_uuid_t *uuid)
+int _bt_hal_get_available_adv_slot_id(bt_uuid_t *uuid, gboolean use_reserved_slot)
+ /* We should consider 'use_reverved_slot' in later */
+ if (le_feature_info.adv_inst_max <= 1)
+ i = 0;
+ else if (use_reserved_slot == TRUE)
+ i = 1;
+ else
+ i = 2;
+
for (i = 0; i < le_feature_info.adv_inst_max; i++) {
if (le_adv_slot[i].initialized == 0) {
DBG("Slot to be allocated [%d] UUID to be registered [%s]",
for (i = 0; i < le_feature_info.adv_inst_max; i++) {
if (le_adv_slot[i].initialized == 0) {
DBG("Slot to be allocated [%d] UUID to be registered [%s]",
gboolean _bt_hal_update_le_feature_support(const char *item, const char *value,
bt_local_le_features_t *le_features);
gboolean _bt_hal_update_le_feature_support(const char *item, const char *value,
bt_local_le_features_t *le_features);
-int _bt_hal_get_available_adv_slot_id(bt_uuid_t *uuid);
+int _bt_hal_get_available_adv_slot_id(bt_uuid_t *uuid, gboolean use_reserved_slot);
int _bt_hal_get_adv_slot_adv_handle(int slot_id);
int _bt_hal_get_adv_slot_adv_handle(int slot_id);
hal_register_server_data *user_data = g_malloc0(sizeof(hal_register_server_data));
/* Check if slot available */
hal_register_server_data *user_data = g_malloc0(sizeof(hal_register_server_data));
/* Check if slot available */
- server_if = _bt_hal_get_available_adv_slot_id(uuid);
+ server_if = _bt_hal_get_available_adv_slot_id(uuid, FALSE);
if (server_if == -1) {
ERR("Allocation of server instance failed");
if (server_if == -1) {
ERR("Allocation of server instance failed");
- if (le_feature_info.adv_inst_max <= 2)
- i = 0;
- else if (le_feature_info.adv_inst_max > 2 && use_reserved_slot == TRUE)
+ if (le_feature_info.adv_inst_max <= 1)
+ else if (use_reserved_slot == TRUE)
+ i = 1;