diff options
Diffstat (limited to 'net/bluetooth/hci_event.c')
-rw-r--r-- | net/bluetooth/hci_event.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 75b03fc78002..87e6f74af6fe 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
@@ -409,7 +409,8 @@ static void hci_cc_read_voice_setting(struct hci_dev *hdev, struct sk_buff *skb) | |||
409 | hdev->notify(hdev, HCI_NOTIFY_VOICE_SETTING); | 409 | hdev->notify(hdev, HCI_NOTIFY_VOICE_SETTING); |
410 | } | 410 | } |
411 | 411 | ||
412 | static void hci_cc_write_voice_setting(struct hci_dev *hdev, struct sk_buff *skb) | 412 | static void hci_cc_write_voice_setting(struct hci_dev *hdev, |
413 | struct sk_buff *skb) | ||
413 | { | 414 | { |
414 | __u8 status = *((__u8 *) skb->data); | 415 | __u8 status = *((__u8 *) skb->data); |
415 | __u16 setting; | 416 | __u16 setting; |
@@ -648,7 +649,8 @@ static void hci_setup_link_policy(struct hci_dev *hdev) | |||
648 | hci_send_cmd(hdev, HCI_OP_WRITE_DEF_LINK_POLICY, sizeof(cp), &cp); | 649 | hci_send_cmd(hdev, HCI_OP_WRITE_DEF_LINK_POLICY, sizeof(cp), &cp); |
649 | } | 650 | } |
650 | 651 | ||
651 | static void hci_cc_read_local_commands(struct hci_dev *hdev, struct sk_buff *skb) | 652 | static void hci_cc_read_local_commands(struct hci_dev *hdev, |
653 | struct sk_buff *skb) | ||
652 | { | 654 | { |
653 | struct hci_rp_read_local_commands *rp = (void *) skb->data; | 655 | struct hci_rp_read_local_commands *rp = (void *) skb->data; |
654 | 656 | ||
@@ -666,7 +668,8 @@ done: | |||
666 | hci_req_complete(hdev, HCI_OP_READ_LOCAL_COMMANDS, rp->status); | 668 | hci_req_complete(hdev, HCI_OP_READ_LOCAL_COMMANDS, rp->status); |
667 | } | 669 | } |
668 | 670 | ||
669 | static void hci_cc_read_local_features(struct hci_dev *hdev, struct sk_buff *skb) | 671 | static void hci_cc_read_local_features(struct hci_dev *hdev, |
672 | struct sk_buff *skb) | ||
670 | { | 673 | { |
671 | struct hci_rp_read_local_features *rp = (void *) skb->data; | 674 | struct hci_rp_read_local_features *rp = (void *) skb->data; |
672 | 675 | ||
@@ -1845,7 +1848,8 @@ static void hci_conn_request_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
1845 | if (ie) | 1848 | if (ie) |
1846 | memcpy(ie->data.dev_class, ev->dev_class, 3); | 1849 | memcpy(ie->data.dev_class, ev->dev_class, 3); |
1847 | 1850 | ||
1848 | conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr); | 1851 | conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, |
1852 | &ev->bdaddr); | ||
1849 | if (!conn) { | 1853 | if (!conn) { |
1850 | conn = hci_conn_add(hdev, ev->link_type, &ev->bdaddr); | 1854 | conn = hci_conn_add(hdev, ev->link_type, &ev->bdaddr); |
1851 | if (!conn) { | 1855 | if (!conn) { |
@@ -2623,7 +2627,8 @@ static void hci_mode_change_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
2623 | conn->mode = ev->mode; | 2627 | conn->mode = ev->mode; |
2624 | conn->interval = __le16_to_cpu(ev->interval); | 2628 | conn->interval = __le16_to_cpu(ev->interval); |
2625 | 2629 | ||
2626 | if (!test_and_clear_bit(HCI_CONN_MODE_CHANGE_PEND, &conn->flags)) { | 2630 | if (!test_and_clear_bit(HCI_CONN_MODE_CHANGE_PEND, |
2631 | &conn->flags)) { | ||
2627 | if (conn->mode == HCI_CM_ACTIVE) | 2632 | if (conn->mode == HCI_CM_ACTIVE) |
2628 | set_bit(HCI_CONN_POWER_SAVE, &conn->flags); | 2633 | set_bit(HCI_CONN_POWER_SAVE, &conn->flags); |
2629 | else | 2634 | else |
@@ -2714,8 +2719,8 @@ static void hci_link_key_request_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
2714 | 2719 | ||
2715 | if (key->type == HCI_LK_COMBINATION && key->pin_len < 16 && | 2720 | if (key->type == HCI_LK_COMBINATION && key->pin_len < 16 && |
2716 | conn->pending_sec_level == BT_SECURITY_HIGH) { | 2721 | conn->pending_sec_level == BT_SECURITY_HIGH) { |
2717 | BT_DBG("%s ignoring key unauthenticated for high \ | 2722 | BT_DBG("%s ignoring key unauthenticated for high security", |
2718 | security", hdev->name); | 2723 | hdev->name); |
2719 | goto not_found; | 2724 | goto not_found; |
2720 | } | 2725 | } |
2721 | 2726 | ||
@@ -3097,8 +3102,8 @@ static void hci_io_capa_request_evt(struct hci_dev *hdev, struct sk_buff *skb) | |||
3097 | conn->auth_type = hci_get_auth_req(conn); | 3102 | conn->auth_type = hci_get_auth_req(conn); |
3098 | cp.authentication = conn->auth_type; | 3103 | cp.authentication = conn->auth_type; |
3099 | 3104 | ||
3100 | if ((conn->out || test_bit(HCI_CONN_REMOTE_OOB, &conn->flags)) && | 3105 | if (hci_find_remote_oob_data(hdev, &conn->dst) && |
3101 | hci_find_remote_oob_data(hdev, &conn->dst)) | 3106 | (conn->out || test_bit(HCI_CONN_REMOTE_OOB, &conn->flags))) |
3102 | cp.oob_data = 0x01; | 3107 | cp.oob_data = 0x01; |
3103 | else | 3108 | else |
3104 | cp.oob_data = 0x00; | 3109 | cp.oob_data = 0x00; |