-#ifdef USB_BLUETOOTH
- char *argv_down[] = {"/usr/bin/hciconfig", "/usr/bin/hciconfig", "hci0", "down", NULL};
- if (__execute_command("/usr/bin/hciconfig", argv_down) < 0) {
+ if (TIZEN_FEATURE_BT_USB_DONGLE) {
+ if (__bt_call_systemact_service(BT_SYSTEMACT_HCI_DOWN) < 0) {
+ BT_ERR("Failed to call systemact service");
+ __bt_core_set_status(BT_ACTIVATED);
+ return -1;
+ }
+ g_timeout_add(BT_CORE_IDLE_TERM_TIME, __bt_core_idle_terminate, NULL);
+ } else {
+#ifdef TIZEN_FEATURE_RADIO
+ int radio_status = VCONFKEY_RADIO_STATUS_OFF;
+
+ /* Check if radio status on or off */
+ if (vconf_get_int(VCONFKEY_RADIO_STATUS, &radio_status) < 0)
+ BT_ERR("Fail to get radio status");
+
+ BT_DBG("Radio status: %d", radio_status);
+
+ if (radio_status == VCONFKEY_RADIO_STATUS_ON) {
+ if (__bt_call_systemact_service(BT_SYSTEMACT_STACK_DOWN_WITH_RADIO) < 0) {
+ BT_ERR("running script failed");
+ __bt_core_set_status(BT_ACTIVATED);
+ return -1;
+ }
+ } else {
+ if (__bt_call_systemact_service(BT_SYSTEMACT_STACK_DOWN) < 0) {
+ BT_ERR("running script failed");
+ __bt_core_set_status(BT_ACTIVATED);
+ return -1;
+ }
+ }