ieee80211_ht.c (193655) | ieee80211_ht.c (193840) |
---|---|
1/*- 2 * Copyright (c) 2007-2008 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 --- 11 unchanged lines hidden (view full) --- 20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#include <sys/cdefs.h> 27#ifdef __FreeBSD__ | 1/*- 2 * Copyright (c) 2007-2008 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 --- 11 unchanged lines hidden (view full) --- 20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#include <sys/cdefs.h> 27#ifdef __FreeBSD__ |
28__FBSDID("$FreeBSD: head/sys/net80211/ieee80211_ht.c 193655 2009-06-07 22:00:22Z sam $"); | 28__FBSDID("$FreeBSD: head/sys/net80211/ieee80211_ht.c 193840 2009-06-09 16:32:07Z sam $"); |
29#endif 30 31/* 32 * IEEE 802.11n protocol support. 33 */ 34 35#include "opt_inet.h" 36#include "opt_wlan.h" --- 525 unchanged lines hidden (view full) --- 562 wh = mtod(m, struct ieee80211_qosframe *); 563 if (wh->i_fc[0] != IEEE80211_FC0_QOSDATA) { 564 /* 565 * Not QoS data, shouldn't get here but just 566 * return it to the caller for processing. 567 */ 568 return PROCESS; 569 } | 29#endif 30 31/* 32 * IEEE 802.11n protocol support. 33 */ 34 35#include "opt_inet.h" 36#include "opt_wlan.h" --- 525 unchanged lines hidden (view full) --- 562 wh = mtod(m, struct ieee80211_qosframe *); 563 if (wh->i_fc[0] != IEEE80211_FC0_QOSDATA) { 564 /* 565 * Not QoS data, shouldn't get here but just 566 * return it to the caller for processing. 567 */ 568 return PROCESS; 569 } |
570 if ((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS) | 570 if (IEEE80211_IS_DSTODS(wh)) |
571 tid = ((struct ieee80211_qosframe_addr4 *)wh)->i_qos[0]; 572 else 573 tid = wh->i_qos[0]; 574 tid &= IEEE80211_QOS_TID; 575 rap = &ni->ni_rx_ampdu[tid]; 576 if ((rap->rxa_flags & IEEE80211_AGGR_XCHGPEND) == 0) { 577 /* 578 * No ADDBA request yet, don't touch. --- 1921 unchanged lines hidden --- | 571 tid = ((struct ieee80211_qosframe_addr4 *)wh)->i_qos[0]; 572 else 573 tid = wh->i_qos[0]; 574 tid &= IEEE80211_QOS_TID; 575 rap = &ni->ni_rx_ampdu[tid]; 576 if ((rap->rxa_flags & IEEE80211_AGGR_XCHGPEND) == 0) { 577 /* 578 * No ADDBA request yet, don't touch. --- 1921 unchanged lines hidden --- |