summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authorgavin <gavin@FreeBSD.org>2013-12-10 13:35:04 +0000
committergavin <gavin@FreeBSD.org>2013-12-10 13:35:04 +0000
commit977caa62b94b55fd53e4495dc8a8ce29869135c1 (patch)
treed27fb4039f415e005f7f37a17b8034f73dbf9063 /sys/net80211
parent837dce146606b55eef0c646529411ee0afd735dc (diff)
downloadFreeBSD-src-977caa62b94b55fd53e4495dc8a8ce29869135c1.zip
FreeBSD-src-977caa62b94b55fd53e4495dc8a8ce29869135c1.tar.gz
Merge r257754 (by adrian) from head:
Don't return ENOBUFS if the transmit path handles the frame but queues it (eg in power save.) 10.0 candidate. PR: kern/183727
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_output.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
index a7aa7d9..5d958d1 100644
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -143,8 +143,12 @@ ieee80211_vap_pkt_send_dest(struct ieee80211vap *vap, struct mbuf *m,
*/
(void) ieee80211_pwrsave(ni, m);
ieee80211_free_node(ni);
- /* XXX better status? */
- return (ENOBUFS);
+
+ /*
+ * We queued it fine, so tell the upper layer
+ * that we consumed it.
+ */
+ return (0);
}
/* calculate priority so drivers can find the tx queue */
if (ieee80211_classify(ni, m)) {
@@ -155,8 +159,9 @@ ieee80211_vap_pkt_send_dest(struct ieee80211vap *vap, struct mbuf *m,
ifp->if_oerrors++;
m_freem(m);
ieee80211_free_node(ni);
+
/* XXX better status? */
- return (ENOBUFS);
+ return (0);
}
/*
* Stash the node pointer. Note that we do this after
@@ -168,7 +173,6 @@ ieee80211_vap_pkt_send_dest(struct ieee80211vap *vap, struct mbuf *m,
BPF_MTAP(ifp, m); /* 802.3 tx */
-
/*
* Check if A-MPDU tx aggregation is setup or if we
* should try to enable it. The sta must be associated
OpenPOWER on IntegriCloud