Page MenuHomeFreeBSD

D25704.diff
No OneTemporary

D25704.diff

Index: head/sys/netgraph/bluetooth/include/ng_hci.h
===================================================================
--- head/sys/netgraph/bluetooth/include/ng_hci.h
+++ head/sys/netgraph/bluetooth/include/ng_hci.h
@@ -393,10 +393,10 @@
(((h) & 0x0fff) | (((pb) & 3) << 12) | (((bc) & 3) << 14))
/* PB flag values */
- /* 00 - reserved for future use */
+#define NG_HCI_LE_PACKET_START 0x0
#define NG_HCI_PACKET_FRAGMENT 0x1
#define NG_HCI_PACKET_START 0x2
- /* 11 - reserved for future use */
+ /* 11 for AMP packet, not supported */
/* BC flag values */
#define NG_HCI_POINT2POINT 0x0 /* only Host controller to Host */
Index: head/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c
===================================================================
--- head/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c
+++ head/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c
@@ -547,7 +547,7 @@
ng_l2cap_hdr_t *l2cap_hdr = NULL;
ng_hci_acldata_pkt_t *acl_hdr = NULL;
struct mbuf *m_last = NULL, *m = NULL;
- int len, flag = NG_HCI_PACKET_START;
+ int len, flag = (con->linktype == NG_HCI_LINK_ACL) ? NG_HCI_PACKET_START : NG_HCI_LE_PACKET_START;
KASSERT((con->tx_pkt == NULL),
("%s: %s - another packet pending?!\n", __func__, NG_NODE_NAME(l2cap->node)));
@@ -713,7 +713,8 @@
}
/* Process packet */
- if (pb == NG_HCI_PACKET_START) {
+ if ((pb == NG_HCI_PACKET_START) || (pb == NG_HCI_LE_PACKET_START))
+ {
if (con->rx_pkt != NULL) {
NG_L2CAP_ERR(
"%s: %s - dropping incomplete L2CAP packet, got %d bytes, want %d bytes\n",

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 18, 2:07 PM (1 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29910191
Default Alt Text
D25704.diff (1 KB)

Event Timeline