diff options
author | gavin <gavin@FreeBSD.org> | 2013-12-10 13:35:04 +0000 |
---|---|---|
committer | gavin <gavin@FreeBSD.org> | 2013-12-10 13:35:04 +0000 |
commit | 977caa62b94b55fd53e4495dc8a8ce29869135c1 (patch) | |
tree | d27fb4039f415e005f7f37a17b8034f73dbf9063 /sys/net80211 | |
parent | 837dce146606b55eef0c646529411ee0afd735dc (diff) | |
download | FreeBSD-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.c | 12 |
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 |