OSDN Git Service

L2cap CoC callback use Confirm not Ind on server
authorChris Manton <cmanton@google.com>
Wed, 30 Sep 2020 04:26:24 +0000 (21:26 -0700)
committerChris Manton <cmanton@google.com>
Wed, 30 Sep 2020 15:50:39 +0000 (08:50 -0700)
Confirm is nullptr on  L2cap connect-only-services

Bug: 169725013
Test: act.py -tc BleCocTest
Tag: #refactor
Change-Id: I5c87923a2b721c3d5b87d52969552382a5b1d633

stack/l2cap/l2c_csm.cc

index de695f9..d0e0a29 100644 (file)
@@ -91,7 +91,7 @@ static void l2c_csm_indicate_connection_open(tL2C_CCB* p_ccb) {
         p_ccb->p_lcb->remote_bd_addr, p_ccb->local_cid, p_ccb->p_rcb->psm,
         p_ccb->remote_id);
   }
-  if (p_ccb->chnl_state == CST_OPEN) {
+  if (p_ccb->chnl_state == CST_OPEN && !p_ccb->p_lcb->is_transport_ble()) {
     (*p_ccb->p_rcb->api.pL2CA_ConfigCfm_Cb)(
         p_ccb->local_cid, p_ccb->connection_initiator, &p_ccb->peer_cfg);
   }
@@ -563,9 +563,7 @@ static void l2c_csm_w4_l2cap_connect_rsp(tL2C_CCB* p_ccb, uint16_t event,
         /* Connection is completed */
         alarm_cancel(p_ccb->l2c_ccb_timer);
         p_ccb->chnl_state = CST_OPEN;
-        (*p_ccb->p_rcb->api.pL2CA_ConnectInd_Cb)(
-            p_ccb->p_lcb->remote_bd_addr, p_ccb->local_cid, p_ccb->p_rcb->psm,
-            p_ccb->remote_id);
+        l2c_csm_indicate_connection_open(p_ccb);
       } else {
         p_ccb->chnl_state = CST_CONFIG;
         alarm_set_on_mloop(p_ccb->l2c_ccb_timer, L2CAP_CHNL_CFG_TIMEOUT_MS,