ble_mesh: Skip local messages in rx

Local messages are already enqueued for the LPN in the tx path, and
don't have to be added again in the rx path.
This commit is contained in:
lly 2019-10-24 16:10:35 +08:00
parent a9c5092baf
commit 4bf2ceee4e

View File

@ -1310,6 +1310,14 @@ static void friend_lpn_enqueue_rx(struct bt_mesh_friend *frnd,
struct friend_pdu_info info;
struct net_buf *buf;
/* Because of network loopback, tx packets will also be passed into
* this rx function. These packets have already been added to the
* queue, and should be ignored.
*/
if (bt_mesh_elem_find(rx->ctx.addr)) {
return;
}
BT_DBG("LPN 0x%04x queue_size %u", frnd->lpn, frnd->queue_size);
if (type == BLE_MESH_FRIEND_PDU_SINGLE && seq_auth) {