From c33c10540a6352e6ab3c9b12ca1305b8734f303a Mon Sep 17 00:00:00 2001 From: Michael Karlsson Date: Tue, 7 Nov 2017 01:43:54 +0100 Subject: [PATCH 1/2] Avoid tsch crash when loosing timesource --- os/net/mac/tsch/tsch.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/os/net/mac/tsch/tsch.c b/os/net/mac/tsch/tsch.c index 2ab2c6a32..56872adb3 100644 --- a/os/net/mac/tsch/tsch.c +++ b/os/net/mac/tsch/tsch.c @@ -304,13 +304,17 @@ keepalive_send(void *ptr) { if(tsch_is_associated) { struct tsch_neighbor *n = tsch_queue_get_time_source(); - /* Simply send an empty packet */ - packetbuf_clear(); - packetbuf_set_addr(PACKETBUF_ADDR_RECEIVER, &n->addr); - NETSTACK_MAC.send(keepalive_packet_sent, NULL); - LOG_INFO("sending KA to "); - LOG_INFO_LLADDR(&n->addr); - LOG_INFO_("\n"); + if(n != NULL) { + /* Simply send an empty packet */ + packetbuf_clear(); + packetbuf_set_addr(PACKETBUF_ADDR_RECEIVER, &n->addr); + NETSTACK_MAC.send(keepalive_packet_sent, NULL); + LOG_INFO("sending KA to "); + LOG_INFO_LLADDR(&n->addr); + LOG_INFO_("\n"); + } else { + LOG_INFO("no timesource - KA not sent\n"); + } } } /*---------------------------------------------------------------------------*/ From 1a4efcd38d597baba50280d7e3c2b94e02096d52 Mon Sep 17 00:00:00 2001 From: Simon Duquennoy Date: Thu, 9 Nov 2017 16:13:00 +0100 Subject: [PATCH 2/2] TSCH: when not sending KA, issue `LOG_ERR` rather than `LOG_INFO` --- os/net/mac/tsch/tsch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os/net/mac/tsch/tsch.c b/os/net/mac/tsch/tsch.c index 56872adb3..017f6542c 100644 --- a/os/net/mac/tsch/tsch.c +++ b/os/net/mac/tsch/tsch.c @@ -313,7 +313,7 @@ keepalive_send(void *ptr) LOG_INFO_LLADDR(&n->addr); LOG_INFO_("\n"); } else { - LOG_INFO("no timesource - KA not sent\n"); + LOG_ERR("no timesource - KA not sent\n"); } } }