|
@@ -41,6 +41,9 @@
|
|
|
#include "btbcm.h"
|
|
|
#include "hci_uart.h"
|
|
|
|
|
|
+#define BCM_LM_DIAG_PKT 0x07
|
|
|
+#define BCM_LM_DIAG_SIZE 63
|
|
|
+
|
|
|
#define BCM_AUTOSUSPEND_DELAY 5000 /* default autosleep delay */
|
|
|
|
|
|
struct bcm_device {
|
|
@@ -396,10 +399,18 @@ finalize:
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+#define BCM_RECV_LM_DIAG \
|
|
|
+ .type = BCM_LM_DIAG_PKT, \
|
|
|
+ .hlen = BCM_LM_DIAG_SIZE, \
|
|
|
+ .loff = 0, \
|
|
|
+ .lsize = 0, \
|
|
|
+ .maxlen = BCM_LM_DIAG_SIZE
|
|
|
+
|
|
|
static const struct h4_recv_pkt bcm_recv_pkts[] = {
|
|
|
- { H4_RECV_ACL, .recv = hci_recv_frame },
|
|
|
- { H4_RECV_SCO, .recv = hci_recv_frame },
|
|
|
- { H4_RECV_EVENT, .recv = hci_recv_frame },
|
|
|
+ { H4_RECV_ACL, .recv = hci_recv_frame },
|
|
|
+ { H4_RECV_SCO, .recv = hci_recv_frame },
|
|
|
+ { H4_RECV_EVENT, .recv = hci_recv_frame },
|
|
|
+ { BCM_RECV_LM_DIAG, .recv = hci_recv_diag },
|
|
|
};
|
|
|
|
|
|
static int bcm_recv(struct hci_uart *hu, const void *data, int count)
|