diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 5d9c5bf7c1a..10b24ffd7a9 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -572,6 +572,11 @@ static int e1000_transmit(FAR struct netdev_lowerhalf_s *dev, return -EINVAL; } + if (!IFF_IS_RUNNING(dev->netdev.d_flags)) + { + return -ENETDOWN; + } + /* Store TX packet reference */ priv->tx_pkt[priv->tx_now] = pkt; diff --git a/drivers/net/igc.c b/drivers/net/igc.c index 5cb5e9a3e12..c3b689f2b63 100644 --- a/drivers/net/igc.c +++ b/drivers/net/igc.c @@ -526,6 +526,11 @@ static int igc_transmit(FAR struct netdev_lowerhalf_s *dev, return -EINVAL; } + if (!IFF_IS_RUNNING(dev->netdev.d_flags)) + { + return -ENETDOWN; + } + /* Store TX packet reference */ priv->tx_pkt[priv->tx_now] = pkt;