diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 3d1eef0..fb6543b 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1368,7 +1368,7 @@
 	struct inquiry_entry *e;
 
 	if (conn && !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
-		mgmt_device_connected(hdev, bdaddr, ACL_LINK, 0x00,
+		mgmt_device_connected(hdev, bdaddr, ACL_LINK, 0x00, 0,
 					name, name_len, conn->dev_class);
 
 	if (discov->state == DISCOVERY_STOPPED)
@@ -2104,7 +2104,7 @@
 		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->dst, conn->type,
-						conn->dst_type, NULL, 0,
+						conn->dst_type, 0, NULL, 0,
 						conn->dev_class);
 
 	if (!hci_outgoing_auth_needed(hdev, conn)) {
@@ -2872,7 +2872,7 @@
 		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->dst, conn->type,
-						conn->dst_type, NULL, 0,
+						conn->dst_type, 0, NULL, 0,
 						conn->dev_class);
 
 	if (!hci_outgoing_auth_needed(hdev, conn)) {
@@ -3282,7 +3282,7 @@
 
 	if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
 		mgmt_device_connected(hdev, &ev->bdaddr, conn->type,
-						conn->dst_type, NULL, 0, 0);
+						conn->dst_type, 0, NULL, 0, 0);
 
 	conn->sec_level = BT_SECURITY_LOW;
 	conn->handle = __le16_to_cpu(ev->handle);
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 93f2c13..79fe575 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3249,8 +3249,8 @@
 }
 
 int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
-					u8 addr_type, u8 *name, u8 name_len,
-					u8 *dev_class)
+					u8 addr_type, u32 flags, u8 *name,
+					u8 name_len, u8 *dev_class)
 {
 	char buf[512];
 	struct mgmt_ev_device_connected *ev = (void *) buf;
@@ -3259,6 +3259,8 @@
 	bacpy(&ev->addr.bdaddr, bdaddr);
 	ev->addr.type = link_to_mgmt(link_type, addr_type);
 
+	put_unaligned_le32(flags, &ev->flags);
+
 	if (name_len > 0)
 		eir_len = eir_append_data(ev->eir, 0, EIR_NAME_COMPLETE,
 								name, name_len);
