Hi Anderson, Thanks for your comments. > > - if (ogf == OGF) { > > - BT_DBG("vendor event skipped: ogf 0x%4.4x ocf 0x%4.4x", > > - ogf, ocf); > > + if ((opcode & 0xfc00) == 0xfc00) { > > + BT_DBG("vendor event skipped: opcode=%#4.4x", opcode); > > I think you could use "if (hci_opcode_ogf(opcode) == 0x3F)" to make it > more readable. Sure, I will make that change in v2. > > @@ -179,7 +176,7 @@ static int btmrvl_send_sync_cmd(struct btmrvl_private *priv, u16 cmd_no, > > } > > > > hdr = (struct hci_command_hdr *)skb_put(skb, HCI_COMMAND_HDR_SIZE); > > - hdr->opcode = cpu_to_le16(hci_opcode_pack(OGF, cmd_no)); > > + hdr->opcode = cpu_to_le16(opcode); > > Are you sure the callers of btmrvl_send_sync_cmd() do not need to be > changed to pass an opcode instead of just the OCF? Previously we pass the cmd_no which is the OCF bits to the function, and the function packs it to opcode. Now I changed the macros of the cmd_no from OCF to opcode as shown below, so no change to the callers. -/* Bluetooth commands */ -#define BT_CMD_AUTO_SLEEP_MODE 0x23 -#define BT_CMD_HOST_SLEEP_CONFIG 0x59 -#define BT_CMD_HOST_SLEEP_ENABLE 0x5A -#define BT_CMD_MODULE_CFG_REQ 0x5B -#define BT_CMD_LOAD_CONFIG_DATA 0x61 +/* Vendor specific Bluetooth commands */ +#define BT_CMD_AUTO_SLEEP_MODE 0xFC23 +#define BT_CMD_HOST_SLEEP_CONFIG 0xFC59 +#define BT_CMD_HOST_SLEEP_ENABLE 0xFC5A +#define BT_CMD_MODULE_CFG_REQ 0xFC5B +#define BT_CMD_LOAD_CONFIG_DATA 0xFC61 Thanks, Bing -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html