From ea54feb7f2ad645f77f35a7b128e1b7310d63d2e Mon Sep 17 00:00:00 2001 From: "matthias.ringwald" Date: Wed, 27 Jul 2011 20:54:50 +0000 Subject: [PATCH] use correct size for l2cap data and signaling packets --- src/hci.h | 2 +- src/l2cap.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/hci.h b/src/hci.h index ca03e770a..facd03f1d 100644 --- a/src/hci.h +++ b/src/hci.h @@ -73,7 +73,7 @@ extern "C" { #define HCI_ACL_3DH5_SIZE 1021 #define HCI_EVENT_PKT_SIZE 255 - + // OGFs #define OGF_LINK_CONTROL 0x01 #define OGF_LINK_POLICY 0x02 diff --git a/src/l2cap.c b/src/l2cap.c index aefadff67..5f4753abd 100644 --- a/src/l2cap.c +++ b/src/l2cap.c @@ -48,8 +48,10 @@ #include -// size of HCI ACL + L2CAP Header for regular data packets -#define COMPLETE_L2CAP_HEADER 8 +#define L2CAP_HEADER_SIZE 4 + +// size of HCI ACL + L2CAP Header for regular data packets (8) +#define COMPLETE_L2CAP_HEADER (HCI_ACL_DATA_PKT_HDR + L2CAP_HEADER_SIZE) // minimum signaling MTU #define L2CAP_MINIMAL_MTU 48 @@ -75,8 +77,8 @@ static l2cap_signaling_response_t signaling_responses[NR_PENDING_SIGNALING_RESPO static int signaling_responses_pending; // static buffers -static uint8_t sig_buffer[L2CAP_MINIMAL_MTU]; -static uint8_t acl_buffer[HCI_ACL_BUFFER_SIZE]; +static uint8_t sig_buffer[HCI_ACL_DATA_PKT_HDR + L2CAP_HEADER_SIZE + L2CAP_MINIMAL_MTU]; +static uint8_t acl_buffer[HCI_ACL_DATA_PKT_HDR + HCI_ACL_BUFFER_SIZE]; static linked_list_t l2cap_channels = NULL; static linked_list_t l2cap_services = NULL;