bdaddr_t *dst, u8 role);
 void hci_conn_del(struct hci_conn *conn);
 void hci_conn_hash_flush(struct hci_dev *hdev);
-void hci_conn_check_pending(struct hci_dev *hdev);
 
 struct hci_chan *hci_chan_create(struct hci_conn *conn);
 void hci_chan_del(struct hci_chan *chan);
 
        }
 }
 
-/* Check pending connect attempts */
-void hci_conn_check_pending(struct hci_dev *hdev)
-{
-       struct hci_conn *conn;
-
-       BT_DBG("hdev %s", hdev->name);
-
-       hci_dev_lock(hdev);
-
-       conn = hci_conn_hash_lookup_state(hdev, ACL_LINK, BT_CONNECT2);
-       if (conn)
-               hci_acl_create_connection_sync(hdev, conn);
-
-       hci_dev_unlock(hdev);
-}
-
 static u32 get_link_mode(struct hci_conn *conn)
 {
        u32 link_mode = 0;
 
                hci_discovery_set_state(hdev, DISCOVERY_STOPPED);
        hci_dev_unlock(hdev);
 
-       hci_conn_check_pending(hdev);
-
        return rp->status;
 }
 
 
        hci_dev_clear_flag(hdev, HCI_PERIODIC_INQ);
 
-       hci_conn_check_pending(hdev);
-
        return rp->status;
 }
 
 {
        bt_dev_dbg(hdev, "status 0x%2.2x", status);
 
-       if (status) {
-               hci_conn_check_pending(hdev);
+       if (status)
                return;
-       }
 
        if (hci_sent_cmd_data(hdev, HCI_OP_INQUIRY))
                set_bit(HCI_INQUIRY, &hdev->flags);
 
        if (status) {
                if (conn && conn->state == BT_CONNECT) {
-                       if (status != HCI_ERROR_COMMAND_DISALLOWED || conn->attempt > 2) {
-                               conn->state = BT_CLOSED;
-                               hci_connect_cfm(conn, status);
-                               hci_conn_del(conn);
-                       } else
-                               conn->state = BT_CONNECT2;
+                       conn->state = BT_CLOSED;
+                       hci_connect_cfm(conn, status);
+                       hci_conn_del(conn);
                }
        } else {
                if (!conn) {
 
        bt_dev_dbg(hdev, "status 0x%2.2x", ev->status);
 
-       hci_conn_check_pending(hdev);
-
        if (!test_and_clear_bit(HCI_INQUIRY, &hdev->flags))
                return;
 
 
 unlock:
        hci_dev_unlock(hdev);
-
-       hci_conn_check_pending(hdev);
 }
 
 static void hci_reject_conn(struct hci_dev *hdev, bdaddr_t *bdaddr)