diff options
author | jfv <jfv@FreeBSD.org> | 2009-09-04 22:45:07 +0000 |
---|---|---|
committer | jfv <jfv@FreeBSD.org> | 2009-09-04 22:45:07 +0000 |
commit | 65def14c86be8dbca8ac75c9d8b96a1304d2b8b3 (patch) | |
tree | 613b92428e6c698444676907e87e01bf5776d164 | |
parent | 4975956f2e300e103617874b15013dda58e1aab0 (diff) | |
download | FreeBSD-src-65def14c86be8dbca8ac75c9d8b96a1304d2b8b3.zip FreeBSD-src-65def14c86be8dbca8ac75c9d8b96a1304d2b8b3.tar.gz |
If an interface is brought up with no cable it will experience
watchdog resets, this is due to a missing check for link in the
new multiqueue start code.
MFC: 3 days
-rw-r--r-- | sys/dev/ixgbe/ixgbe.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ixgbe/ixgbe.c b/sys/dev/ixgbe/ixgbe.c index 3c0f5ed..008ded8 100644 --- a/sys/dev/ixgbe/ixgbe.c +++ b/sys/dev/ixgbe/ixgbe.c @@ -759,7 +759,8 @@ ixgbe_mq_start_locked(struct ifnet *ifp, struct tx_ring *txr, struct mbuf *m) struct mbuf *next; int err = 0; - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + if (((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) || + (!adapter->link_active)) { err = drbr_enqueue(ifp, txr->br, m); return (err); } |