--- src/sys/net/ifq_var.h 2006/05/21 03:43:45 1.8 +++ src/sys/net/ifq_var.h 2007/08/21 19:21:54 1.9 @@ -153,7 +153,10 @@ ifq_poll(struct ifaltq *_ifq) static __inline void ifq_purge(struct ifaltq *_ifq) { - (*_ifq->altq_request)(_ifq, ALTRQ_PURGE, NULL); + if (ifq_is_enabled(_ifq)) + (*_ifq->altq_request)(_ifq, ALTRQ_PURGE, NULL); + else + IF_DRAIN(_ifq); } /*