return NULL;
}
+static void __bt_gatt_server_release_request_info(const char *address)
+{
+ GSList *l;
+ struct gatt_server_req_info *req_info = NULL;
+
+ for (l = gatt_server_requests; l != NULL; l = g_slist_next(l)) {
+ req_info = l->data;
+ if (req_info == NULL)
+ continue;
+
+ if (g_strcmp0(req_info->addr, address) == 0) {
+ g_free(req_info->addr);
+ break;
+ }
+ }
+
+ if (req_info) {
+ BT_DBG("Remove unhandled req_info %s", address);
+ gatt_server_requests = g_slist_remove(gatt_server_requests, req_info);
+ }
+
+ return;
+}
+
void _bt_get_adv_handle_from_instance(int server_inst, int *adv_handle)
{
BT_DBG("+");
address, BT_ADDRESS_STRING_SIZE);
}
+ /* Remove previous invalid request info */
+ __bt_gatt_server_release_request_info(address);
+
BT_INFO("Local GATT Server DisConnected: Remote Client addr[%s] Server Instance [%d] Connection ID [%d]",
address + 12, event->server_inst, event->conn_id);
+
/* Remove Connection info */
client_info = _bt_find_remote_gatt_client_info(address);
if (client_info) {