|
@@ -47,10 +47,11 @@ EXPORT_SYMBOL_GPL(btmrvl_interrupt);
|
|
|
bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb)
|
|
|
{
|
|
|
struct hci_event_hdr *hdr = (void *) skb->data;
|
|
|
- struct hci_ev_cmd_complete *ec;
|
|
|
- u16 opcode, ocf, ogf;
|
|
|
|
|
|
if (hdr->evt == HCI_EV_CMD_COMPLETE) {
|
|
|
+ struct hci_ev_cmd_complete *ec;
|
|
|
+ u16 opcode, ocf, ogf;
|
|
|
+
|
|
|
ec = (void *) (skb->data + HCI_EVENT_HDR_SIZE);
|
|
|
opcode = __le16_to_cpu(ec->opcode);
|
|
|
ocf = hci_opcode_ocf(opcode);
|
|
@@ -64,7 +65,8 @@ bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb)
|
|
|
}
|
|
|
|
|
|
if (ogf == OGF) {
|
|
|
- BT_DBG("vendor event skipped: ogf 0x%4.4x", ogf);
|
|
|
+ BT_DBG("vendor event skipped: ogf 0x%4.4x ocf 0x%4.4x",
|
|
|
+ ogf, ocf);
|
|
|
kfree_skb(skb);
|
|
|
return false;
|
|
|
}
|