From 98211c291f1c3d157e20a3ca364a30aa84d9d654 Mon Sep 17 00:00:00 2001 From: Jose Alamos Date: Thu, 7 Oct 2021 14:37:05 +0200 Subject: [PATCH] net/netdev_ieee802154_submac: prevent calling ACK TO fired if cancelled (cherry picked from commit cb6e242b652f3c87444f45d0be044b10c31d6f17) --- drivers/netdev_ieee802154_submac/netdev_ieee802154_submac.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/netdev_ieee802154_submac/netdev_ieee802154_submac.c b/drivers/netdev_ieee802154_submac/netdev_ieee802154_submac.c index baa1efd509..d5692a5f57 100644 --- a/drivers/netdev_ieee802154_submac/netdev_ieee802154_submac.c +++ b/drivers/netdev_ieee802154_submac/netdev_ieee802154_submac.c @@ -151,6 +151,9 @@ void ieee802154_submac_ack_timer_cancel(ieee802154_submac_t *submac) submac); xtimer_remove(&netdev_submac->ack_timer); + /* Prevent a race condition between the RX_DONE event and the ACK timeout */ + netdev_submac->isr_flags &= ~NETDEV_SUBMAC_FLAGS_ACK_TIMEOUT; + } static int _send(netdev_t *netdev, const iolist_t *pkt)