summaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net80211/ieee80211_output.c')
-rw-r--r--sys/net80211/ieee80211_output.c30
1 files changed, 3 insertions, 27 deletions
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
index cadb64ca354..82bd609d2e5 100644
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee80211_output.c,v 1.94 2015/03/14 03:38:51 jsg Exp $ */
+/* $OpenBSD: ieee80211_output.c,v 1.95 2015/05/26 15:34:00 mpi Exp $ */
/* $NetBSD: ieee80211_output.c,v 1.13 2004/05/31 11:02:55 dyoung Exp $ */
/*-
@@ -113,8 +113,7 @@ ieee80211_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
{
struct ieee80211_frame *wh;
struct m_tag *mtag;
- int s, len, error = 0;
- u_short mflags;
+ int error = 0;
/* Interface has to be up and running */
if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) !=
@@ -143,30 +142,7 @@ ieee80211_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
IEEE80211_FC0_TYPE_CTL)
return (EINVAL);
- /*
- * Queue message on interface without adding any
- * further headers, and start output if interface not
- * yet active.
- */
- mflags = m->m_flags;
- len = m->m_pkthdr.len;
- s = splnet();
- IFQ_ENQUEUE(&ifp->if_snd, m, NULL, error);
- if (error) {
- /* mbuf is already freed */
- splx(s);
- printf("%s: failed to queue raw tx frame\n",
- ifp->if_xname);
- return (error);
- }
- ifp->if_obytes += len;
- if (mflags & M_MCAST)
- ifp->if_omcasts++;
- if ((ifp->if_flags & IFF_OACTIVE) == 0)
- (*ifp->if_start)(ifp);
- splx(s);
-
- return (error);
+ return (if_output(ifp, m));
}
fallback: