diff --git a/components/bt/esp_ble_mesh/mesh_core/adv.c b/components/bt/esp_ble_mesh/mesh_core/adv.c index ac72ec09c7..a697c5e860 100644 --- a/components/bt/esp_ble_mesh/mesh_core/adv.c +++ b/components/bt/esp_ble_mesh/mesh_core/adv.c @@ -543,7 +543,7 @@ static void ble_mesh_relay_task_post(bt_mesh_msg_t *msg, uint32_t timeout) BT_INFO("Full queue, remove the oldest relay packet"); /* Remove the oldest relay packet from queue */ if (xQueueReceive(relay_queue.handle, &old_msg, K_NO_WAIT) != pdTRUE) { - BT_ERR("Failed to remove item from queue"); + BT_ERR("Failed to remove item from relay queue"); bt_mesh_unref_buf(msg); return; } diff --git a/components/bt/esp_ble_mesh/mesh_core/net.c b/components/bt/esp_ble_mesh/mesh_core/net.c index 78a809c85b..f8a4c71047 100644 --- a/components/bt/esp_ble_mesh/mesh_core/net.c +++ b/components/bt/esp_ble_mesh/mesh_core/net.c @@ -828,6 +828,12 @@ int bt_mesh_net_resend(struct bt_mesh_subnet *sub, struct net_buf *buf, return 0; } + if (IS_ENABLED(CONFIG_BLE_MESH_GATT_PROXY_CLIENT) && + bt_mesh_proxy_client_relay(&buf->b, dst)) { + send_cb_finalize(cb, cb_data); + return 0; + } + bt_mesh_adv_send(buf, cb, cb_data); return 0; }