Module Name:    src
Committed By:   joerg
Date:           Wed Sep  2 22:03:08 UTC 2009

Modified Files:
        src/sys/net80211: ieee80211_input.c

Log Message:
Fix ALTQ for bridge mode. Based on FreeBSD's revision 1.115.
Tested by r...@.


To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/net80211/ieee80211_input.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/net80211/ieee80211_input.c
diff -u src/sys/net80211/ieee80211_input.c:1.67 src/sys/net80211/ieee80211_input.c:1.68
--- src/sys/net80211/ieee80211_input.c:1.67	Wed Dec 17 20:51:37 2008
+++ src/sys/net80211/ieee80211_input.c	Wed Sep  2 22:03:08 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: ieee80211_input.c,v 1.67 2008/12/17 20:51:37 cegger Exp $	*/
+/*	$NetBSD: ieee80211_input.c,v 1.68 2009/09/02 22:03:08 joerg Exp $	*/
 /*-
  * Copyright (c) 2001 Atsushi Onoe
  * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
@@ -36,7 +36,7 @@
 __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.81 2005/08/10 16:22:29 sam Exp $");
 #endif
 #ifdef __NetBSD__
-__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.67 2008/12/17 20:51:37 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.68 2009/09/02 22:03:08 joerg Exp $");
 #endif
 
 #include "opt_inet.h"
@@ -710,6 +710,7 @@
 	struct ether_header *eh = mtod(m, struct ether_header *);
 	struct ifnet *ifp = ic->ic_ifp;
 	ALTQ_DECL(struct altq_pktattr pktattr;)
+	int error;
 
 	/* perform as a bridge within the AP */
 	if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
@@ -756,9 +757,11 @@
 			}
 #endif
 			len = m1->m_pkthdr.len;
-			IF_ENQUEUE(&ifp->if_snd, m1);
-			if (m != NULL)
+			IFQ_ENQUEUE(&ifp->if_snd, m1, &pktattr, error);
+			if (error) {
 				ifp->if_omcasts++;
+				m = NULL;
+			}
 			ifp->if_obytes += len;
 		}
 	}

Reply via email to