diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c index 423201b5333..2f3d9922e82 100644 --- a/drivers/net/e1000.c +++ b/drivers/net/e1000.c @@ -498,6 +498,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 328bfd1bf9c..9645b2e0b64 100644 --- a/drivers/net/igc.c +++ b/drivers/net/igc.c @@ -456,6 +456,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;