Loading system/stack/btu/btu_init.cc +2 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,8 @@ void btu_free_core(void) { /* Free the mandatory core stack components */ l2c_free(); sdp_free(); gatt_free(); } Loading system/stack/sdp/sdp_main.cc +11 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,10 @@ void sdp_init(void) { /* Clears all structures and local SDP database (if Server is enabled) */ memset(&sdp_cb, 0, sizeof(tSDP_CB)); for (int i = 0; i < SDP_MAX_CONNECTIONS; i++) { sdp_cb.ccb[i].sdp_conn_timer = alarm_new("sdp.sdp_conn_timer"); } /* Initialize the L2CAP configuration. We only care about MTU and flush */ sdp_cb.l2cap_my_cfg.mtu_present = true; sdp_cb.l2cap_my_cfg.mtu = SDP_MTU_SIZE; Loading Loading @@ -124,6 +128,13 @@ void sdp_init(void) { } } void sdp_free(void) { for (int i = 0; i < SDP_MAX_CONNECTIONS; i++) { alarm_free(sdp_cb.ccb[i].sdp_conn_timer); sdp_cb.ccb[i].sdp_conn_timer = NULL; } } #if (SDP_DEBUG == TRUE) /******************************************************************************* * Loading system/stack/sdp/sdp_utils.cc +3 −3 Original line number Diff line number Diff line Loading @@ -108,8 +108,9 @@ tCONN_CB* sdpu_allocate_ccb(void) { /* Look through each connection control block for a free one */ for (xx = 0, p_ccb = sdp_cb.ccb; xx < SDP_MAX_CONNECTIONS; xx++, p_ccb++) { if (p_ccb->con_state == SDP_STATE_IDLE) { alarm_t* alarm = p_ccb->sdp_conn_timer; memset(p_ccb, 0, sizeof(tCONN_CB)); p_ccb->sdp_conn_timer = alarm_new("sdp.sdp_conn_timer"); p_ccb->sdp_conn_timer = alarm; return (p_ccb); } } Loading @@ -129,8 +130,7 @@ tCONN_CB* sdpu_allocate_ccb(void) { ******************************************************************************/ void sdpu_release_ccb(tCONN_CB* p_ccb) { /* Ensure timer is stopped */ alarm_free(p_ccb->sdp_conn_timer); p_ccb->sdp_conn_timer = NULL; alarm_cancel(p_ccb->sdp_conn_timer); /* Drop any response pointer we may be holding */ p_ccb->con_state = SDP_STATE_IDLE; Loading system/stack/sdp/sdpint.h +1 −0 Original line number Diff line number Diff line Loading @@ -222,6 +222,7 @@ extern tSDP_CB sdp_cb; /* Functions provided by sdp_main.cc */ extern void sdp_init(void); extern void sdp_free(void); extern void sdp_disconnect(tCONN_CB* p_ccb, uint16_t reason); #if (SDP_DEBUG == TRUE) Loading Loading
system/stack/btu/btu_init.cc +2 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,8 @@ void btu_free_core(void) { /* Free the mandatory core stack components */ l2c_free(); sdp_free(); gatt_free(); } Loading
system/stack/sdp/sdp_main.cc +11 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,10 @@ void sdp_init(void) { /* Clears all structures and local SDP database (if Server is enabled) */ memset(&sdp_cb, 0, sizeof(tSDP_CB)); for (int i = 0; i < SDP_MAX_CONNECTIONS; i++) { sdp_cb.ccb[i].sdp_conn_timer = alarm_new("sdp.sdp_conn_timer"); } /* Initialize the L2CAP configuration. We only care about MTU and flush */ sdp_cb.l2cap_my_cfg.mtu_present = true; sdp_cb.l2cap_my_cfg.mtu = SDP_MTU_SIZE; Loading Loading @@ -124,6 +128,13 @@ void sdp_init(void) { } } void sdp_free(void) { for (int i = 0; i < SDP_MAX_CONNECTIONS; i++) { alarm_free(sdp_cb.ccb[i].sdp_conn_timer); sdp_cb.ccb[i].sdp_conn_timer = NULL; } } #if (SDP_DEBUG == TRUE) /******************************************************************************* * Loading
system/stack/sdp/sdp_utils.cc +3 −3 Original line number Diff line number Diff line Loading @@ -108,8 +108,9 @@ tCONN_CB* sdpu_allocate_ccb(void) { /* Look through each connection control block for a free one */ for (xx = 0, p_ccb = sdp_cb.ccb; xx < SDP_MAX_CONNECTIONS; xx++, p_ccb++) { if (p_ccb->con_state == SDP_STATE_IDLE) { alarm_t* alarm = p_ccb->sdp_conn_timer; memset(p_ccb, 0, sizeof(tCONN_CB)); p_ccb->sdp_conn_timer = alarm_new("sdp.sdp_conn_timer"); p_ccb->sdp_conn_timer = alarm; return (p_ccb); } } Loading @@ -129,8 +130,7 @@ tCONN_CB* sdpu_allocate_ccb(void) { ******************************************************************************/ void sdpu_release_ccb(tCONN_CB* p_ccb) { /* Ensure timer is stopped */ alarm_free(p_ccb->sdp_conn_timer); p_ccb->sdp_conn_timer = NULL; alarm_cancel(p_ccb->sdp_conn_timer); /* Drop any response pointer we may be holding */ p_ccb->con_state = SDP_STATE_IDLE; Loading
system/stack/sdp/sdpint.h +1 −0 Original line number Diff line number Diff line Loading @@ -222,6 +222,7 @@ extern tSDP_CB sdp_cb; /* Functions provided by sdp_main.cc */ extern void sdp_init(void); extern void sdp_free(void); extern void sdp_disconnect(tCONN_CB* p_ccb, uint16_t reason); #if (SDP_DEBUG == TRUE) Loading