Fix issue where state is not restored when adv operation fails 22/303822/1 accepted/tizen/7.0/unified/20240109.160537
authorWootak Jung <wootak.jung@samsung.com>
Fri, 5 Jan 2024 08:20:58 +0000 (17:20 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Fri, 5 Jan 2024 08:20:58 +0000 (17:20 +0900)
Change-Id: I72428877125969a9dd682d6a2124775e45f258a4
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
bt-oal/oal-gatt.c

index 10e66e0..6d7d29a 100644 (file)
@@ -451,7 +451,6 @@ oal_status_t gatts_multi_adv_enable(int instance_id)
                BT_ERR("Not allowed, state: %d, instance_id: %d", info->state, instance_id);
                return OAL_STATUS_BUSY;
        }
-       info->state = GATT_INS_ENABLING;
 
        ret = gatt_api->server->multi_adv_enable(instance_id);
        if (ret != BT_STATUS_SUCCESS) {
@@ -460,6 +459,8 @@ oal_status_t gatts_multi_adv_enable(int instance_id)
 //             gatt_servers[instance_id - 1].state = GATT_INS_DATA_SET;
                return convert_to_oal_status(ret);
        }
+
+       info->state = GATT_INS_ENABLING;
        return OAL_STATUS_SUCCESS;
 }
 
@@ -558,7 +559,6 @@ oal_status_t gatts_multi_adv_set_inst_data(int instance_id,
                BT_ERR("Not Allowed, state: %d, instance_id: %d", info->state, instance_id);
                return OAL_STATUS_BUSY;
        }
-       info->state = GATT_INS_DATA_SETTING;
 
        adv_setup.set_scan_rsp = adv_param_setup->set_scan_rsp;
        adv_setup.include_name = adv_param_setup->include_name;
@@ -597,6 +597,8 @@ oal_status_t gatts_multi_adv_set_inst_data(int instance_id,
                info->state = GATT_INS_DISABLED;
                return convert_to_oal_status(ret);
        }
+
+       info->state = GATT_INS_DATA_SETTING;
        return OAL_STATUS_SUCCESS;
 }