diff options
author | mlaier <mlaier@FreeBSD.org> | 2004-11-08 16:16:04 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2004-11-08 16:16:04 +0000 |
commit | 0447144e4c87148506c8802371a8f07a419460c1 (patch) | |
tree | 5a253644dbf85f15cb9210d98e9761d5e071c309 /sys/pci/if_xl.c | |
parent | 027fce30f5a18628851fd5615769543ef2e8c6ac (diff) | |
download | FreeBSD-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.c | 10 |
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); } /* |