[PATCH BlueZ] mesh: Fix adding model app key binding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This fixes the situation when a new app key binding is being
added to a model and the list of bindings does not exist yet.
If the list does not exist, it is created and the binding is
added to it.

Also, remove unnecessary memory alloc check when model subscriptions
are added.
---
 mesh/model.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/mesh/model.c b/mesh/model.c
index 80c30edba..a632d80e1 100644
--- a/mesh/model.c
+++ b/mesh/model.c
@@ -522,6 +522,9 @@ static void model_unbind_idx(struct mesh_node *node, struct mesh_model *mod,
 static void model_bind_idx(struct mesh_node *node, struct mesh_model *mod,
 								uint16_t idx)
 {
+	if (!mod->bindings)
+		mod->bindings = l_queue_new();
+
 	l_queue_push_tail(mod->bindings, L_UINT_TO_PTR(idx));
 
 	l_debug("Add %4.4x to model %8.8x", idx, mod->id);
@@ -689,8 +692,6 @@ static int add_sub(struct mesh_net *net, struct mesh_model *mod,
 
 	if (!mod->subs)
 		mod->subs = l_queue_new();
-	if (!mod->subs)
-		return MESH_STATUS_STORAGE_FAIL;
 
 	if (l_queue_find(mod->subs, simple_match, L_UINT_TO_PTR(grp)))
 		/* Group already exists */
-- 
2.17.2




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux