mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-15 08:14:28 +08:00
mesh: Fix node reset
Instead of stopping the daemon, just remove the node.
This commit is contained in:
parent
59d5f21e6c
commit
7ff2bb9efe
@ -740,9 +740,11 @@ static int hb_subscription_set(struct mesh_net *net, uint16_t src,
|
|||||||
|
|
||||||
static void node_reset(struct l_timeout *timeout, void *user_data)
|
static void node_reset(struct l_timeout *timeout, void *user_data)
|
||||||
{
|
{
|
||||||
|
struct mesh_node *node = user_data;
|
||||||
|
|
||||||
l_debug("Node Reset");
|
l_debug("Node Reset");
|
||||||
l_timeout_remove(timeout);
|
l_timeout_remove(timeout);
|
||||||
l_main_quit();
|
node_remove(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool cfg_srv_pkt(uint16_t src, uint32_t dst, uint16_t unicast,
|
static bool cfg_srv_pkt(uint16_t src, uint32_t dst, uint16_t unicast,
|
||||||
@ -1265,7 +1267,11 @@ static bool cfg_srv_pkt(uint16_t src, uint32_t dst, uint16_t unicast,
|
|||||||
|
|
||||||
case OP_NODE_RESET:
|
case OP_NODE_RESET:
|
||||||
n = mesh_model_opcode_set(OP_NODE_RESET_STATUS, msg);
|
n = mesh_model_opcode_set(OP_NODE_RESET_STATUS, msg);
|
||||||
l_timeout_create(1, node_reset, net, NULL);
|
/*
|
||||||
|
* delay node removal to give it a chance to send back the
|
||||||
|
* status
|
||||||
|
*/
|
||||||
|
l_timeout_create(1, node_reset, node, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user