void mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
                       bool persistent);
 void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn,
-                          u32 flags, u8 *name, u8 name_len);
+                          u8 *name, u8 name_len);
 void mgmt_device_disconnected(struct hci_dev *hdev, bdaddr_t *bdaddr,
                              u8 link_type, u8 addr_type, u8 reason,
                              bool mgmt_connected);
 
        if (conn &&
            (conn->state == BT_CONFIG || conn->state == BT_CONNECTED) &&
            !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
-               mgmt_device_connected(hdev, conn, 0, name, name_len);
+               mgmt_device_connected(hdev, conn, name, name_len);
 
        if (discov->state == DISCOVERY_STOPPED)
                return;
                cp.pscan_rep_mode = 0x02;
                hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
        } else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
-               mgmt_device_connected(hdev, conn, 0, NULL, 0);
+               mgmt_device_connected(hdev, conn, NULL, 0);
 
        if (!hci_outgoing_auth_needed(hdev, conn)) {
                conn->state = BT_CONNECTED;
                cp.pscan_rep_mode = 0x02;
                hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
        } else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
-               mgmt_device_connected(hdev, conn, 0, NULL, 0);
+               mgmt_device_connected(hdev, conn, NULL, 0);
 
        if (!hci_outgoing_auth_needed(hdev, conn)) {
                conn->state = BT_CONNECTED;
        }
 
        if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
-               mgmt_device_connected(hdev, conn, 0, NULL, 0);
+               mgmt_device_connected(hdev, conn, NULL, 0);
 
        conn->sec_level = BT_SECURITY_LOW;
        conn->handle = handle;
 
        hci_dev_lock(hdev);
        if (hci_dev_test_flag(hdev, HCI_MGMT) &&
            !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &hcon->flags))
-               mgmt_device_connected(hdev, hcon, 0, NULL, 0);
+               mgmt_device_connected(hdev, hcon, NULL, 0);
        hci_dev_unlock(hdev);
 
        l2cap_connect(conn, cmd, data, L2CAP_CONN_RSP, 0);
 
 }
 
 void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn,
-                          u32 flags, u8 *name, u8 name_len)
+                          u8 *name, u8 name_len)
 {
        char buf[512];
        struct mgmt_ev_device_connected *ev = (void *) buf;
        u16 eir_len = 0;
+       u32 flags = 0;
 
        bacpy(&ev->addr.bdaddr, &conn->dst);
        ev->addr.type = link_to_bdaddr(conn->type, conn->dst_type);
 
+       if (conn->out)
+               flags |= MGMT_DEV_FOUND_INITIATED_CONN;
+
        ev->flags = __cpu_to_le32(flags);
 
        /* We must ensure that the EIR Data fields are ordered and