|
@@ -178,48 +178,13 @@ static void hci_reset_req(struct hci_dev *hdev, unsigned long opt)
|
|
|
|
|
|
static void bredr_init(struct hci_dev *hdev)
|
|
static void bredr_init(struct hci_dev *hdev)
|
|
{
|
|
{
|
|
- struct hci_cp_delete_stored_link_key cp;
|
|
|
|
- __le16 param;
|
|
|
|
- __u8 flt_type;
|
|
|
|
-
|
|
|
|
hdev->flow_ctl_mode = HCI_FLOW_CTL_MODE_PACKET_BASED;
|
|
hdev->flow_ctl_mode = HCI_FLOW_CTL_MODE_PACKET_BASED;
|
|
|
|
|
|
- /* Mandatory initialization */
|
|
|
|
-
|
|
|
|
/* Read Local Supported Features */
|
|
/* Read Local Supported Features */
|
|
hci_send_cmd(hdev, HCI_OP_READ_LOCAL_FEATURES, 0, NULL);
|
|
hci_send_cmd(hdev, HCI_OP_READ_LOCAL_FEATURES, 0, NULL);
|
|
|
|
|
|
/* Read Local Version */
|
|
/* Read Local Version */
|
|
hci_send_cmd(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL);
|
|
hci_send_cmd(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL);
|
|
-
|
|
|
|
- /* Read Buffer Size (ACL mtu, max pkt, etc.) */
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_READ_BUFFER_SIZE, 0, NULL);
|
|
|
|
-
|
|
|
|
- /* Read BD Address */
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_READ_BD_ADDR, 0, NULL);
|
|
|
|
-
|
|
|
|
- /* Read Class of Device */
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_READ_CLASS_OF_DEV, 0, NULL);
|
|
|
|
-
|
|
|
|
- /* Read Local Name */
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_READ_LOCAL_NAME, 0, NULL);
|
|
|
|
-
|
|
|
|
- /* Read Voice Setting */
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_READ_VOICE_SETTING, 0, NULL);
|
|
|
|
-
|
|
|
|
- /* Optional initialization */
|
|
|
|
-
|
|
|
|
- /* Clear Event Filters */
|
|
|
|
- flt_type = HCI_FLT_CLEAR_ALL;
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_SET_EVENT_FLT, 1, &flt_type);
|
|
|
|
-
|
|
|
|
- /* Connection accept timeout ~20 secs */
|
|
|
|
- param = __constant_cpu_to_le16(0x7d00);
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_WRITE_CA_TIMEOUT, 2, ¶m);
|
|
|
|
-
|
|
|
|
- bacpy(&cp.bdaddr, BDADDR_ANY);
|
|
|
|
- cp.delete_all = 1;
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_DELETE_STORED_LINK_KEY, sizeof(cp), &cp);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static void amp_init(struct hci_dev *hdev)
|
|
static void amp_init(struct hci_dev *hdev)
|
|
@@ -273,14 +238,6 @@ static void hci_init_req(struct hci_dev *hdev, unsigned long opt)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-static void hci_le_init_req(struct hci_dev *hdev, unsigned long opt)
|
|
|
|
-{
|
|
|
|
- BT_DBG("%s", hdev->name);
|
|
|
|
-
|
|
|
|
- /* Read LE buffer size */
|
|
|
|
- hci_send_cmd(hdev, HCI_OP_LE_READ_BUFFER_SIZE, 0, NULL);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static void hci_scan_req(struct hci_dev *hdev, unsigned long opt)
|
|
static void hci_scan_req(struct hci_dev *hdev, unsigned long opt)
|
|
{
|
|
{
|
|
__u8 scan = opt;
|
|
__u8 scan = opt;
|
|
@@ -687,10 +644,6 @@ int hci_dev_open(__u16 dev)
|
|
|
|
|
|
ret = __hci_request(hdev, hci_init_req, 0, HCI_INIT_TIMEOUT);
|
|
ret = __hci_request(hdev, hci_init_req, 0, HCI_INIT_TIMEOUT);
|
|
|
|
|
|
- if (lmp_host_le_capable(hdev))
|
|
|
|
- ret = __hci_request(hdev, hci_le_init_req, 0,
|
|
|
|
- HCI_INIT_TIMEOUT);
|
|
|
|
-
|
|
|
|
clear_bit(HCI_INIT, &hdev->flags);
|
|
clear_bit(HCI_INIT, &hdev->flags);
|
|
}
|
|
}
|
|
|
|
|