Commit 00a2c1c6 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Marcel Holtmann

[Bluetooth] Disable HCI flow control for vendor commands

This patch disables the use of HCI flow control for vendor
commands. All vendor commands will be queued to hdev->raw_q
instead of hdev->cmd_q.
parent 4d28af2e
......@@ -85,6 +85,7 @@ enum {
#define HCISETLINKMODE _IOW('H', 226, int)
#define HCISETACLMTU _IOW('H', 227, int)
#define HCISETSCOMTU _IOW('H', 228, int)
#define HCISETRAWVND _IOW('H', 229, int)
#define HCIINQUIRY _IOR('H', 240, int)
......@@ -386,6 +387,12 @@ struct hci_rp_write_link_policy {
/* Status params */
#define OGF_STATUS_PARAM 0x05
/* Testing commands */
#define OGF_TESTING_CMD 0x3E
/* Vendor specific commands */
#define OGF_VENDOR_CMD 0x3F
/* ---- HCI Events ---- */
#define HCI_EV_INQUIRY_COMPLETE 0x01
......
......@@ -967,6 +967,9 @@ int hci_send_raw(struct sk_buff *skb)
/* Queue frame according it's type */
switch (skb->pkt_type) {
case HCI_COMMAND_PKT:
if (cmd_opcode_ogf(__le16_to_cpu(*(__u16 *)skb->data)) == OGF_VENDOR_CMD)
break;
skb_queue_tail(&hdev->cmd_q, skb);
hci_sched_cmd(hdev);
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment