diff --git a/sys/net/gnrc/netif/gnrc_netif.c b/sys/net/gnrc/netif/gnrc_netif.c index 6747e462be..1a9de85f6c 100644 --- a/sys/net/gnrc/netif/gnrc_netif.c +++ b/sys/net/gnrc/netif/gnrc_netif.c @@ -1950,8 +1950,9 @@ static void _send(gnrc_netif_t *netif, gnrc_pktsnip_t *pkt, bool push_back) int res = netif->ops->send(netif, pkt); /* For legacy netdevs (no confirm_send) TX is blocking, thus it is always - * completed. For new netdevs (with confirm_send), TX is async. It is only - * done if TX failed right away (res < 0). + * completed. For new netdevs (with confirm_send), TX is usually async (res == 0). + * It is only done if TX failed right away (res < 0) or if the driver signaled + * that the transmission already completed (res > 0). */ if (gnrc_netif_netdev_legacy_api(netif) || (res != 0)) { _tx_done(netif, pkt, tx_sync, res, push_back);