mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-07 07:05:20 +00:00
Bluetooth: mgmt: Add flags parameter to device_connected
This patch updates the Device Connected events to match the latest API by adding a flags parameter to them. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
9246a8693e
commit
08c79b6133
4 changed files with 11 additions and 8 deletions
|
@ -980,8 +980,8 @@ int mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status);
|
||||||
int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
|
int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
|
||||||
u8 persistent);
|
u8 persistent);
|
||||||
int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
||||||
u8 addr_type, u8 *name, u8 name_len,
|
u8 addr_type, u32 flags, u8 *name,
|
||||||
u8 *dev_class);
|
u8 name_len, u8 *dev_class);
|
||||||
int mgmt_device_disconnected(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
int mgmt_device_disconnected(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
||||||
u8 link_type, u8 addr_type);
|
u8 link_type, u8 addr_type);
|
||||||
int mgmt_disconnect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
int mgmt_disconnect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr,
|
||||||
|
|
|
@ -357,6 +357,7 @@ struct mgmt_ev_new_long_term_key {
|
||||||
#define MGMT_EV_DEVICE_CONNECTED 0x000B
|
#define MGMT_EV_DEVICE_CONNECTED 0x000B
|
||||||
struct mgmt_ev_device_connected {
|
struct mgmt_ev_device_connected {
|
||||||
struct mgmt_addr_info addr;
|
struct mgmt_addr_info addr;
|
||||||
|
__le32 flags;
|
||||||
__le16 eir_len;
|
__le16 eir_len;
|
||||||
__u8 eir[0];
|
__u8 eir[0];
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
|
@ -1368,7 +1368,7 @@ static void hci_check_pending_name(struct hci_dev *hdev, struct hci_conn *conn,
|
||||||
struct inquiry_entry *e;
|
struct inquiry_entry *e;
|
||||||
|
|
||||||
if (conn && !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
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);
|
name, name_len, conn->dev_class);
|
||||||
|
|
||||||
if (discov->state == DISCOVERY_STOPPED)
|
if (discov->state == DISCOVERY_STOPPED)
|
||||||
|
@ -2104,7 +2104,7 @@ static inline void hci_remote_features_evt(struct hci_dev *hdev, struct sk_buff
|
||||||
hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
|
hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
|
||||||
} else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
} else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
||||||
mgmt_device_connected(hdev, &conn->dst, conn->type,
|
mgmt_device_connected(hdev, &conn->dst, conn->type,
|
||||||
conn->dst_type, NULL, 0,
|
conn->dst_type, 0, NULL, 0,
|
||||||
conn->dev_class);
|
conn->dev_class);
|
||||||
|
|
||||||
if (!hci_outgoing_auth_needed(hdev, conn)) {
|
if (!hci_outgoing_auth_needed(hdev, conn)) {
|
||||||
|
@ -2872,7 +2872,7 @@ static inline void hci_remote_ext_features_evt(struct hci_dev *hdev, struct sk_b
|
||||||
hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
|
hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
|
||||||
} else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
} else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
||||||
mgmt_device_connected(hdev, &conn->dst, conn->type,
|
mgmt_device_connected(hdev, &conn->dst, conn->type,
|
||||||
conn->dst_type, NULL, 0,
|
conn->dst_type, 0, NULL, 0,
|
||||||
conn->dev_class);
|
conn->dev_class);
|
||||||
|
|
||||||
if (!hci_outgoing_auth_needed(hdev, conn)) {
|
if (!hci_outgoing_auth_needed(hdev, conn)) {
|
||||||
|
@ -3282,7 +3282,7 @@ static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff
|
||||||
|
|
||||||
if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
|
||||||
mgmt_device_connected(hdev, &ev->bdaddr, conn->type,
|
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->sec_level = BT_SECURITY_LOW;
|
||||||
conn->handle = __le16_to_cpu(ev->handle);
|
conn->handle = __le16_to_cpu(ev->handle);
|
||||||
|
|
|
@ -3249,8 +3249,8 @@ int mgmt_new_ltk(struct hci_dev *hdev, struct smp_ltk *key, u8 persistent)
|
||||||
}
|
}
|
||||||
|
|
||||||
int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
||||||
u8 addr_type, u8 *name, u8 name_len,
|
u8 addr_type, u32 flags, u8 *name,
|
||||||
u8 *dev_class)
|
u8 name_len, u8 *dev_class)
|
||||||
{
|
{
|
||||||
char buf[512];
|
char buf[512];
|
||||||
struct mgmt_ev_device_connected *ev = (void *) buf;
|
struct mgmt_ev_device_connected *ev = (void *) buf;
|
||||||
|
@ -3259,6 +3259,8 @@ int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
||||||
bacpy(&ev->addr.bdaddr, bdaddr);
|
bacpy(&ev->addr.bdaddr, bdaddr);
|
||||||
ev->addr.type = link_to_mgmt(link_type, addr_type);
|
ev->addr.type = link_to_mgmt(link_type, addr_type);
|
||||||
|
|
||||||
|
put_unaligned_le32(flags, &ev->flags);
|
||||||
|
|
||||||
if (name_len > 0)
|
if (name_len > 0)
|
||||||
eir_len = eir_append_data(ev->eir, 0, EIR_NAME_COMPLETE,
|
eir_len = eir_append_data(ev->eir, 0, EIR_NAME_COMPLETE,
|
||||||
name, name_len);
|
name, name_len);
|
||||||
|
|
Loading…
Add table
Reference in a new issue