hci_event.c (c35938b2f56547ee77b5a038fe0db394aeac59bb) hci_event.c (2763eda6ccaf126633bb3180f440c8f3589f0679)
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

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

2466
2467 ie = hci_inquiry_cache_lookup(hdev, &ev->bdaddr);
2468 if (ie)
2469 ie->data.ssp_mode = (ev->features[0] & 0x01);
2470
2471 hci_dev_unlock(hdev);
2472}
2473
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

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

2466
2467 ie = hci_inquiry_cache_lookup(hdev, &ev->bdaddr);
2468 if (ie)
2469 ie->data.ssp_mode = (ev->features[0] & 0x01);
2470
2471 hci_dev_unlock(hdev);
2472}
2473
2474static inline void hci_remote_oob_data_request_evt(struct hci_dev *hdev,
2475 struct sk_buff *skb)
2476{
2477 struct hci_ev_remote_oob_data_request *ev = (void *) skb->data;
2478 struct oob_data *data;
2479
2480 BT_DBG("%s", hdev->name);
2481
2482 hci_dev_lock(hdev);
2483
2484 data = hci_find_remote_oob_data(hdev, &ev->bdaddr);
2485 if (data) {
2486 struct hci_cp_remote_oob_data_reply cp;
2487
2488 bacpy(&cp.bdaddr, &ev->bdaddr);
2489 memcpy(cp.hash, data->hash, sizeof(cp.hash));
2490 memcpy(cp.randomizer, data->randomizer, sizeof(cp.randomizer));
2491
2492 hci_send_cmd(hdev, HCI_OP_REMOTE_OOB_DATA_REPLY, sizeof(cp),
2493 &cp);
2494 } else {
2495 struct hci_cp_remote_oob_data_neg_reply cp;
2496
2497 bacpy(&cp.bdaddr, &ev->bdaddr);
2498 hci_send_cmd(hdev, HCI_OP_REMOTE_OOB_DATA_NEG_REPLY, sizeof(cp),
2499 &cp);
2500 }
2501
2502 hci_dev_unlock(hdev);
2503}
2504
2474static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
2475{
2476 struct hci_ev_le_conn_complete *ev = (void *) skb->data;
2477 struct hci_conn *conn;
2478
2479 BT_DBG("%s status %d", hdev->name, ev->status);
2480
2481 hci_dev_lock(hdev);

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

2668 case HCI_EV_REMOTE_HOST_FEATURES:
2669 hci_remote_host_features_evt(hdev, skb);
2670 break;
2671
2672 case HCI_EV_LE_META:
2673 hci_le_meta_evt(hdev, skb);
2674 break;
2675
2505static inline void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
2506{
2507 struct hci_ev_le_conn_complete *ev = (void *) skb->data;
2508 struct hci_conn *conn;
2509
2510 BT_DBG("%s status %d", hdev->name, ev->status);
2511
2512 hci_dev_lock(hdev);

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

2699 case HCI_EV_REMOTE_HOST_FEATURES:
2700 hci_remote_host_features_evt(hdev, skb);
2701 break;
2702
2703 case HCI_EV_LE_META:
2704 hci_le_meta_evt(hdev, skb);
2705 break;
2706
2707 case HCI_EV_REMOTE_OOB_DATA_REQUEST:
2708 hci_remote_oob_data_request_evt(hdev, skb);
2709 break;
2710
2676 default:
2677 BT_DBG("%s event 0x%x", hdev->name, event);
2678 break;
2679 }
2680
2681 kfree_skb(skb);
2682 hdev->stat.evt_rx++;
2683}

--- 28 unchanged lines hidden ---
2711 default:
2712 BT_DBG("%s event 0x%x", hdev->name, event);
2713 break;
2714 }
2715
2716 kfree_skb(skb);
2717 hdev->stat.evt_rx++;
2718}

--- 28 unchanged lines hidden ---