diff --git a/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c b/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c index 2e9f942ce3c6fb879dd5c43e8bb65d775b89ad64..0d02b08b4c07ac17c8ae24467459344cd4fea117 100644 --- a/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c +++ b/adapter/common/net/bluetooth/ble/softbus_adapter_ble_gatt.c @@ -295,6 +295,7 @@ static void WrapperAdvDisableCallback(int advId, int status) continue; } if (st == SOFTBUS_BT_STATUS_SUCCESS) { + advChannel->advId = -1; advChannel->isAdvertising = false; SoftBusCondSignal(&advChannel->cond); } diff --git a/core/connection/p2p/manager/src/p2plink_control_message.c b/core/connection/p2p/manager/src/p2plink_control_message.c index ebf368e836c1005189a0d2dd4548c7acf3d6e915..35110b5c6129085dc34a34ea9868efcf93726de2 100644 --- a/core/connection/p2p/manager/src/p2plink_control_message.c +++ b/core/connection/p2p/manager/src/p2plink_control_message.c @@ -336,6 +336,14 @@ void P2pLinkHandleReuseResponse(int64_t authId, int32_t seq, const cJSON *root) (strcpy_s(conningItem->peerIp, sizeof(conningItem->peerIp), connedDev->peerIp) != EOK)) { SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "strcpy error "); } + + if (P2pLinkSharelinkReuse() != SOFTBUS_OK) { + SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "reuse link failed: invoke P2pLinkSharelinkReuse failed."); + P2pLinkConningCallback(conningItem, SOFTBUS_ERR, ERROR_REUSE_FAILED); + P2pLinkDelConning(conningItem->connInfo.requestId); + return; + } + P2pLinkConningCallback(conningItem, SOFTBUS_OK, 0); P2pLinkAddPidMacRef(conningItem->connInfo.pid, peerMac); P2pLinkAddMyP2pRef();