hci_event.c (e04fde60efabe27afdbe041e3e5a09ec752ec9d2) hci_event.c (1855d92dce0dc0ed81a78eacae710529600513f4)
1/*
2 BlueZ - Bluetooth protocol stack for Linux
3 Copyright (c) 2000-2001, 2010, Code Aurora Forum. All rights reserved.
4
5 Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 2 as

--- 4056 unchanged lines hidden (view full) ---

4065 hci_proto_connect_cfm(conn, ev->status);
4066
4067 hci_pend_le_conn_del(hdev, &conn->dst, conn->dst_type);
4068
4069unlock:
4070 hci_dev_unlock(hdev);
4071}
4072
1/*
2 BlueZ - Bluetooth protocol stack for Linux
3 Copyright (c) 2000-2001, 2010, Code Aurora Forum. All rights reserved.
4
5 Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 2 as

--- 4056 unchanged lines hidden (view full) ---

4065 hci_proto_connect_cfm(conn, ev->status);
4066
4067 hci_pend_le_conn_del(hdev, &conn->dst, conn->dst_type);
4068
4069unlock:
4070 hci_dev_unlock(hdev);
4071}
4072
4073static void hci_le_conn_update_complete_evt(struct hci_dev *hdev,
4074 struct sk_buff *skb)
4075{
4076 struct hci_ev_le_conn_update_complete *ev = (void *) skb->data;
4077 struct hci_conn *conn;
4078
4079 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
4080
4081 if (ev->status)
4082 return;
4083
4084 hci_dev_lock(hdev);
4085
4086 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
4087 if (conn) {
4088 conn->le_conn_interval = le16_to_cpu(ev->interval);
4089 conn->le_conn_latency = le16_to_cpu(ev->latency);
4090 conn->le_supv_timeout = le16_to_cpu(ev->supervision_timeout);
4091 }
4092
4093 hci_dev_unlock(hdev);
4094}
4095
4073/* This function requires the caller holds hdev->lock */
4074static void check_pending_le_conn(struct hci_dev *hdev, bdaddr_t *addr,
4075 u8 addr_type)
4076{
4077 struct hci_conn *conn;
4078 struct smp_irk *irk;
4079
4080 /* If this is a resolvable address, we should resolve it and then

--- 183 unchanged lines hidden (view full) ---

4264
4265 skb_pull(skb, sizeof(*le_ev));
4266
4267 switch (le_ev->subevent) {
4268 case HCI_EV_LE_CONN_COMPLETE:
4269 hci_le_conn_complete_evt(hdev, skb);
4270 break;
4271
4096/* This function requires the caller holds hdev->lock */
4097static void check_pending_le_conn(struct hci_dev *hdev, bdaddr_t *addr,
4098 u8 addr_type)
4099{
4100 struct hci_conn *conn;
4101 struct smp_irk *irk;
4102
4103 /* If this is a resolvable address, we should resolve it and then

--- 183 unchanged lines hidden (view full) ---

4287
4288 skb_pull(skb, sizeof(*le_ev));
4289
4290 switch (le_ev->subevent) {
4291 case HCI_EV_LE_CONN_COMPLETE:
4292 hci_le_conn_complete_evt(hdev, skb);
4293 break;
4294
4295 case HCI_EV_LE_CONN_UPDATE_COMPLETE:
4296 hci_le_conn_update_complete_evt(hdev, skb);
4297 break;
4298
4272 case HCI_EV_LE_ADVERTISING_REPORT:
4273 hci_le_adv_report_evt(hdev, skb);
4274 break;
4275
4276 case HCI_EV_LE_LTK_REQ:
4277 hci_le_ltk_request_evt(hdev, skb);
4278 break;
4279

--- 224 unchanged lines hidden ---
4299 case HCI_EV_LE_ADVERTISING_REPORT:
4300 hci_le_adv_report_evt(hdev, skb);
4301 break;
4302
4303 case HCI_EV_LE_LTK_REQ:
4304 hci_le_ltk_request_evt(hdev, skb);
4305 break;
4306

--- 224 unchanged lines hidden ---