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:
parent
a9c5092baf
commit
4bf2ceee4e
1 changed files with 8 additions and 0 deletions
|
@ -1310,6 +1310,14 @@ static void friend_lpn_enqueue_rx(struct bt_mesh_friend *frnd,
|
||||||
struct friend_pdu_info info;
|
struct friend_pdu_info info;
|
||||||
struct net_buf *buf;
|
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);
|
BT_DBG("LPN 0x%04x queue_size %u", frnd->lpn, frnd->queue_size);
|
||||||
|
|
||||||
if (type == BLE_MESH_FRIEND_PDU_SINGLE && seq_auth) {
|
if (type == BLE_MESH_FRIEND_PDU_SINGLE && seq_auth) {
|
||||||
|
|
Loading…
Reference in a new issue