Call adapter_start on idle after adapter_register is completed. 45/101545/1 accepted/tizen/3.0/common/20161206.125215 accepted/tizen/3.0/ivi/20161205.065728 accepted/tizen/3.0/mobile/20161205.065555 accepted/tizen/3.0/tv/20161205.065629 accepted/tizen/3.0/wearable/20161205.065700 submit/tizen_3.0/20161202.001922 submit/tizen_3.0/20161205.001127
authorDeokhyun Kim <dukan.kim@samsung.com>
Thu, 1 Dec 2016 11:07:16 +0000 (20:07 +0900)
committerDeokhyun Kim <dukan.kim@samsung.com>
Thu, 1 Dec 2016 11:07:16 +0000 (20:07 +0900)
  adapter_register is NOT completed yet, but tries to emit a signal in
  adapter_start. Modified to call adapter_start on idle after adapter_register
  is completed.

Change-Id: I6acae539491eeecd208059660162ab170ef8aa1f
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
src/adapter.c

index 6551ee2..5b6b1a6 100644 (file)
@@ -13044,6 +13044,17 @@ static int clear_devices(struct btd_adapter *adapter)
        return -EIO;
 }
 
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+static gboolean adapter_start_idle_cb(gpointer user_data)
+{
+       struct btd_adapter *adapter = (struct btd_adapter*)user_data;
+
+       adapter_start(adapter);
+
+       return FALSE;
+}
+#endif
+
 static void read_info_complete(uint8_t status, uint16_t length,
                                        const void *param, void *user_data)
 {
@@ -13345,7 +13356,11 @@ static void read_info_complete(uint8_t status, uint16_t length,
                set_discoverable(adapter, 0x01, 0);
 
        if (adapter->current_settings & MGMT_SETTING_POWERED)
+#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
+               g_idle_add(adapter_start_idle_cb, adapter);
+#else
                adapter_start(adapter);
+#endif
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
        else
                set_mode(adapter, MGMT_OP_SET_POWERED, 0x01);