Exclude enhance audio feature
[platform/core/connectivity/bluetooth-agent.git] / ag-agent / bluetooth-ag-agent.c
index c78474d..5fd9364 100755 (executable)
@@ -1884,6 +1884,9 @@ static int __bt_ag_sco_connect(bt_ag_info_t *hs)
        bt_ag_slconn_t *slconn = hs->slc;
        /*guint watch_id;*/
 
+       if (hs->state == HEADSET_STATE_ON_CALL)
+               return BT_HFP_AGENT_ERROR_ALREADY_CONNECTED;
+
        if (hs->state != HEADSET_STATE_CONNECTED)
                return BT_HFP_AGENT_ERROR_NOT_CONNECTED;
 #ifdef TIZEN_MEDIA_ENHANCE
@@ -1933,6 +1936,7 @@ static int __bt_ag_sco_connect(bt_ag_info_t *hs)
                if (err < 0) {
                        ERR("ERROR: sco socket set socket option failed");
                        ERR("Close SCO skt");
+                       g_io_channel_unref(io);
                        close(sco_skt);
                        return BT_HFP_AGENT_ERROR_INTERNAL;
                }
@@ -1950,6 +1954,7 @@ static int __bt_ag_sco_connect(bt_ag_info_t *hs)
        if (err < 0 && !(errno == EINPROGRESS || errno == EAGAIN)) {
                ERR("ERROR: sco socket connect failed : %d", err);
                ERR("Close SCO skt");
+               g_io_channel_unref(io);
                close(sco_skt);
                return BT_HFP_AGENT_ERROR_INTERNAL;
        }