if_ath_tx.c (236873) | if_ath_tx.c (236874) |
---|---|
1/*- 2 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27 * THE POSSIBILITY OF SUCH DAMAGES. 28 */ 29 30#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 25 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 27 * THE POSSIBILITY OF SUCH DAMAGES. 28 */ 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/sys/dev/ath/if_ath_tx.c 236873 2012-06-11 07:06:49Z adrian $"); | 31__FBSDID("$FreeBSD: head/sys/dev/ath/if_ath_tx.c 236874 2012-06-11 07:08:40Z adrian $"); |
32 33/* 34 * Driver for the Atheros Wireless LAN controller. 35 * 36 * This software is derived from work of Atsushi Onoe; his contribution 37 * is greatly appreciated. 38 */ 39 --- 1473 unchanged lines hidden (view full) --- 1513 ATH_TXQ_LOCK(txq); 1514 /* 1515 * Always call; this function will 1516 * handle making sure that null data frames 1517 * don't get a sequence number from the current 1518 * TID and thus mess with the BAW. 1519 */ 1520 seqno = ath_tx_tid_seqno_assign(sc, ni, bf, m0); | 32 33/* 34 * Driver for the Atheros Wireless LAN controller. 35 * 36 * This software is derived from work of Atsushi Onoe; his contribution 37 * is greatly appreciated. 38 */ 39 --- 1473 unchanged lines hidden (view full) --- 1513 ATH_TXQ_LOCK(txq); 1514 /* 1515 * Always call; this function will 1516 * handle making sure that null data frames 1517 * don't get a sequence number from the current 1518 * TID and thus mess with the BAW. 1519 */ 1520 seqno = ath_tx_tid_seqno_assign(sc, ni, bf, m0); |
1521 1522 /* 1523 * Don't add QoS NULL frames to the BAW. 1524 */ |
|
1521 if (IEEE80211_QOS_HAS_SEQ(wh) && 1522 subtype != IEEE80211_FC0_SUBTYPE_QOS_NULL) { 1523 bf->bf_state.bfs_dobaw = 1; 1524 } 1525 ATH_TXQ_UNLOCK(txq); | 1525 if (IEEE80211_QOS_HAS_SEQ(wh) && 1526 subtype != IEEE80211_FC0_SUBTYPE_QOS_NULL) { 1527 bf->bf_state.bfs_dobaw = 1; 1528 } 1529 ATH_TXQ_UNLOCK(txq); |
1526 } else { 1527 /* No AMPDU TX, we've been assigned a sequence number. */ 1528 if (IEEE80211_QOS_HAS_SEQ(wh)) { 1529 /* XXX we should store the frag+seqno in bfs_seqno */ 1530 bf->bf_state.bfs_seqno = 1531 M_SEQNO_GET(m0) << IEEE80211_SEQ_SEQ_SHIFT; 1532 } | |
1533 } 1534 1535 /* 1536 * If needed, the sequence number has been assigned. 1537 * Squirrel it away somewhere easy to get to. 1538 */ 1539 bf->bf_state.bfs_seqno = M_SEQNO_GET(m0) << IEEE80211_SEQ_SEQ_SHIFT; 1540 --- 2821 unchanged lines hidden --- | 1530 } 1531 1532 /* 1533 * If needed, the sequence number has been assigned. 1534 * Squirrel it away somewhere easy to get to. 1535 */ 1536 bf->bf_state.bfs_seqno = M_SEQNO_GET(m0) << IEEE80211_SEQ_SEQ_SHIFT; 1537 --- 2821 unchanged lines hidden --- |