2018-08-06 15:58:40

by Marcel Holtmann

[permalink] [raw]
Subject: [PATCH] Bluetooth: btqca: Introduce HCI_EV_VENDOR and use it

Using HCI_VENDOR_PKT for vendor specific events does work since it has
also the value 0xff, but it is actually the packet type indicator
constant and not the event constant. So introduce HCI_EV_VENDOR and
use it.

Signed-off-by: Marcel Holtmann <[email protected]>
---
drivers/bluetooth/btqca.c | 6 +++---
include/net/bluetooth/hci.h | 2 ++
2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index 488f5e7521dd..ec9e03a6b778 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -39,7 +39,7 @@ int qca_read_soc_version(struct hci_dev *hdev, u32 *soc_version)

cmd = EDL_PATCH_VER_REQ_CMD;
skb = __hci_cmd_sync_ev(hdev, EDL_PATCH_CMD_OPCODE, EDL_PATCH_CMD_LEN,
- &cmd, HCI_VENDOR_PKT, HCI_INIT_TIMEOUT);
+ &cmd, HCI_EV_VENDOR, HCI_INIT_TIMEOUT);
if (IS_ERR(skb)) {
err = PTR_ERR(skb);
bt_dev_err(hdev, "Reading QCA version information failed (%d)",
@@ -229,7 +229,7 @@ static int qca_tlv_send_segment(struct hci_dev *hdev, int seg_size,
cmd);

skb = __hci_cmd_sync_ev(hdev, EDL_PATCH_CMD_OPCODE, seg_size + 2, cmd,
- HCI_VENDOR_PKT, HCI_INIT_TIMEOUT);
+ HCI_EV_VENDOR, HCI_INIT_TIMEOUT);
if (IS_ERR(skb)) {
err = PTR_ERR(skb);
bt_dev_err(hdev, "QCA Failed to send TLV segment (%d)", err);
@@ -318,7 +318,7 @@ int qca_set_bdaddr_rome(struct hci_dev *hdev, const bdaddr_t *bdaddr)
cmd[2] = sizeof(bdaddr_t); /* size */
memcpy(cmd + 3, bdaddr, sizeof(bdaddr_t));
skb = __hci_cmd_sync_ev(hdev, EDL_NVM_ACCESS_OPCODE, sizeof(cmd), cmd,
- HCI_VENDOR_PKT, HCI_INIT_TIMEOUT);
+ HCI_EV_VENDOR, HCI_INIT_TIMEOUT);
if (IS_ERR(skb)) {
err = PTR_ERR(skb);
bt_dev_err(hdev, "QCA Change address command failed (%d)", err);
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 7f008097552e..4619a79b1bbb 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -2176,6 +2176,8 @@ struct hci_evt_le_ext_adv_set_term {
__u8 num_evts;
} __packed;

+#define HCI_EV_VENDOR 0xff
+
/* Internal events generated by Bluetooth stack */
#define HCI_EV_STACK_INTERNAL 0xfd
struct hci_ev_stack_internal {
--
2.17.1



2018-08-06 18:27:31

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btqca: Introduce HCI_EV_VENDOR and use it

Hi Marcel,

On Mon, Aug 06, 2018, Marcel Holtmann wrote:
> Using HCI_VENDOR_PKT for vendor specific events does work since it has
> also the value 0xff, but it is actually the packet type indicator
> constant and not the event constant. So introduce HCI_EV_VENDOR and
> use it.
>
> Signed-off-by: Marcel Holtmann <[email protected]>
> ---
> drivers/bluetooth/btqca.c | 6 +++---
> include/net/bluetooth/hci.h | 2 ++
> 2 files changed, 5 insertions(+), 3 deletions(-)

Applied to bluetooth-next. Thanks.

Johan