summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_xl.c
diff options
context:
space:
mode:
authormlaier <mlaier@FreeBSD.org>2004-11-08 16:16:04 +0000
committermlaier <mlaier@FreeBSD.org>2004-11-08 16:16:04 +0000
commit0447144e4c87148506c8802371a8f07a419460c1 (patch)
tree5a253644dbf85f15cb9210d98e9761d5e071c309 /sys/pci/if_xl.c
parent027fce30f5a18628851fd5615769543ef2e8c6ac (diff)
downloadFreeBSD-src-0447144e4c87148506c8802371a8f07a419460c1.zip
FreeBSD-src-0447144e4c87148506c8802371a8f07a419460c1.tar.gz
Another missing ! in front of IFQ_DRV_IS_EMPTY, this time in an even more
sensitive, but less excercised location (the watchdog). While here use the *_start_locked function directly to avoid drop, grab, drop lock. I have to be very careful with future ALTQ patches! Found & reviewed by: rwatson MFC after: 3 days
Diffstat (limited to 'sys/pci/if_xl.c')
-rw-r--r--sys/pci/if_xl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/pci/if_xl.c b/sys/pci/if_xl.c
index dfb274a..9b87780 100644
--- a/sys/pci/if_xl.c
+++ b/sys/pci/if_xl.c
@@ -3112,10 +3112,14 @@ xl_watchdog(struct ifnet *ifp)
xl_reset(sc);
xl_init_locked(sc);
- XL_UNLOCK(sc);
+ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) {
+ if (sc->xl_type == XL_TYPE_905B)
+ xl_start_90xB_locked(ifp);
+ else
+ xl_start_locked(ifp);
+ }
- if (IFQ_DRV_IS_EMPTY(&ifp->if_snd))
- (*ifp->if_start)(ifp);
+ XL_UNLOCK(sc);
}
/*
OpenPOWER on IntegriCloud