Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Aug 2005 17:26:21 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 81456 for review
Message-ID:  <200508041726.j74HQLrF005747@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=81456

Change 81456 by rwatson@rwatson_zoo on 2005/08/04 17:25:23

	Update IFQ_HANDOFF_ADJ() for if_drv_flags; annotate why this is a
	bug.

Affected files ...

.. //depot/projects/netsmp/src/sys/net/if_var.h#9 edit

Differences ...

==== //depot/projects/netsmp/src/sys/net/if_var.h#9 (text+ko) ====

@@ -422,6 +422,10 @@
 #define	IFQ_INC_DROPS(ifq)		((ifq)->ifq_drops++)
 #define	IFQ_SET_MAXLEN(ifq, len)	((ifq)->ifq_maxlen = (len))
 
+/*
+ * XXXRW: The IFF_DRV_OACTIVE test should really occur in the device driver,
+ * not in the handoff logic, as that flag is locked by the device driver.
+ */
 #define	IFQ_HANDOFF_ADJ(ifp, m, adj, err)				\
 do {									\
 	int len;							\
@@ -434,7 +438,7 @@
 		(ifp)->if_obytes += len + (adj);			\
 		if (mflags & M_MCAST)					\
 			(ifp)->if_omcasts++;				\
-		if (((ifp)->if_flags & IFF_OACTIVE) == 0)		\
+		if (((ifp)->if_drv_flags & IFF_DRV_OACTIVE) == 0)	\
 			if_start(ifp);					\
 	}								\
 } while (0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508041726.j74HQLrF005747>