From 94e0ef47c79003d6bb0889b66ccd727a217f4297 Mon Sep 17 00:00:00 2001 From: Marian Buschsieweke Date: Fri, 26 Feb 2021 10:40:12 +0100 Subject: [PATCH] sys/net/gnrc/gomach: update use of NETOPT_TX_END_IRQ and friends With the API change, it is no longer possible to enable these IRQs at run time. Instead, query if those are supported (with DEVELHELP). --- sys/net/gnrc/link_layer/gomach/gomach.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/net/gnrc/link_layer/gomach/gomach.c b/sys/net/gnrc/link_layer/gomach/gomach.c index 318c53f41f..f8b2c28318 100644 --- a/sys/net/gnrc/link_layer/gomach/gomach.c +++ b/sys/net/gnrc/link_layer/gomach/gomach.c @@ -149,12 +149,16 @@ static void gomach_reinit_radio(gnrc_netif_t *netif) sizeof(netif->l2addr)); } - /* Enable RX-start and TX-started and TX-END interrupts. */ - netopt_enable_t enable = NETOPT_ENABLE; - netif->dev->driver->set(netif->dev, NETOPT_RX_START_IRQ, &enable, sizeof(enable)); - netif->dev->driver->set(netif->dev, NETOPT_RX_END_IRQ, &enable, sizeof(enable)); - netif->dev->driver->set(netif->dev, NETOPT_TX_END_IRQ, &enable, sizeof(enable)); - + /* Check if RX-start and TX-started and TX-END interrupts are supported */ + if (IS_ACTIVE(DEVELHELP)) { + netopt_enable_t enable; + netif->dev->driver->get(netif->dev, NETOPT_RX_START_IRQ, &enable, sizeof(enable)); + assert(enable == NETOPT_ENABLE); + netif->dev->driver->get(netif->dev, NETOPT_RX_END_IRQ, &enable, sizeof(enable)); + assert(enable == NETOPT_ENABLE); + netif->dev->driver->get(netif->dev, NETOPT_TX_END_IRQ, &enable, sizeof(enable)); + assert(enable == NETOPT_ENABLE); + } } static void _gomach_rtt_cb(void *arg)