From 977caa62b94b55fd53e4495dc8a8ce29869135c1 Mon Sep 17 00:00:00 2001 From: gavin Date: Tue, 10 Dec 2013 13:35:04 +0000 Subject: 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 --- sys/net80211/ieee80211_output.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'sys/net80211') 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 -- cgit v1.1