linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH BlueZ] mesh: fix sending messages to group addresses
@ 2019-11-11 14:10 Aurelien Jarno
  2019-11-12 17:54 ` Gix, Brian
  0 siblings, 1 reply; 2+ messages in thread
From: Aurelien Jarno @ 2019-11-11 14:10 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Aurelien Jarno

When sending a message to a group address (either virtual or fixed), it
has to be sent OTA even if successfully enqueued to an internal model.
---
 mesh/net.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mesh/net.c b/mesh/net.c
index f07de4d8a..33b498135 100644
--- a/mesh/net.c
+++ b/mesh/net.c
@@ -3339,10 +3339,10 @@ bool mesh_net_app_send(struct mesh_net *net, bool frnd_cred, uint16_t src,
 				szmic, seq & SEQ_ZERO_MASK,
 				msg, msg_len);
 
-	/* If successfully enqued or delivered
-	 * to Unicast address, we are done
+	/* If addressed to a unicast address and successfully enqueued,
+	 * or delivered to one of our Unicast addresses we are done
 	 */
-	if (result || src == dst ||
+	if ((result && IS_UNICAST(dst)) || src == dst ||
 			(dst >= net->src_addr && dst <= net->last_addr)) {
 		/* Adjust our seq_num for "virtual" delivery */
 		net->seq_num += seg_max;
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH BlueZ] mesh: fix sending messages to group addresses
  2019-11-11 14:10 [PATCH BlueZ] mesh: fix sending messages to group addresses Aurelien Jarno
@ 2019-11-12 17:54 ` Gix, Brian
  0 siblings, 0 replies; 2+ messages in thread
From: Gix, Brian @ 2019-11-12 17:54 UTC (permalink / raw)
  To: aurelien, linux-bluetooth

Applied, Thanks

On Mon, 2019-11-11 at 15:10 +0100, Aurelien Jarno wrote:
> When sending a message to a group address (either virtual or fixed), it
> has to be sent OTA even if successfully enqueued to an internal model.
> ---
>  mesh/net.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/mesh/net.c b/mesh/net.c
> index f07de4d8a..33b498135 100644
> --- a/mesh/net.c
> +++ b/mesh/net.c
> @@ -3339,10 +3339,10 @@ bool mesh_net_app_send(struct mesh_net *net, bool frnd_cred, uint16_t src,
>  				szmic, seq & SEQ_ZERO_MASK,
>  				msg, msg_len);
>  
> -	/* If successfully enqued or delivered
> -	 * to Unicast address, we are done
> +	/* If addressed to a unicast address and successfully enqueued,
> +	 * or delivered to one of our Unicast addresses we are done
>  	 */
> -	if (result || src == dst ||
> +	if ((result && IS_UNICAST(dst)) || src == dst ||
>  			(dst >= net->src_addr && dst <= net->last_addr)) {
>  		/* Adjust our seq_num for "virtual" delivery */
>  		net->seq_num += seg_max;

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-11-12 17:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-11 14:10 [PATCH BlueZ] mesh: fix sending messages to group addresses Aurelien Jarno
2019-11-12 17:54 ` Gix, Brian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).