mac80211: move A-MSDU identifier to flags
This patch moves u8 amsdu_frame in ieee80211_txrx_data to the flags section as IEEE80211_TXRXD_RX_AMSDU Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d3c990fb26
commit
64bd4b693f
@ -123,6 +123,7 @@ typedef enum {
|
|||||||
/* frame is destined to interface currently processed (incl. multicast frames) */
|
/* frame is destined to interface currently processed (incl. multicast frames) */
|
||||||
#define IEEE80211_TXRXD_RXRA_MATCH BIT(5)
|
#define IEEE80211_TXRXD_RXRA_MATCH BIT(5)
|
||||||
#define IEEE80211_TXRXD_TX_INJECTED BIT(6)
|
#define IEEE80211_TXRXD_TX_INJECTED BIT(6)
|
||||||
|
#define IEEE80211_TXRXD_RX_AMSDU BIT(7)
|
||||||
struct ieee80211_txrx_data {
|
struct ieee80211_txrx_data {
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
@ -155,7 +156,6 @@ struct ieee80211_txrx_data {
|
|||||||
int load;
|
int load;
|
||||||
u32 tkip_iv32;
|
u32 tkip_iv32;
|
||||||
u16 tkip_iv16;
|
u16 tkip_iv16;
|
||||||
u8 amsdu_frame;
|
|
||||||
} rx;
|
} rx;
|
||||||
} u;
|
} u;
|
||||||
};
|
};
|
||||||
|
@ -244,9 +244,9 @@ ieee80211_rx_h_parse_qos(struct ieee80211_txrx_data *rx)
|
|||||||
/* frame has qos control */
|
/* frame has qos control */
|
||||||
tid = qc[0] & QOS_CONTROL_TID_MASK;
|
tid = qc[0] & QOS_CONTROL_TID_MASK;
|
||||||
if (qc[0] & IEEE80211_QOS_CONTROL_A_MSDU_PRESENT)
|
if (qc[0] & IEEE80211_QOS_CONTROL_A_MSDU_PRESENT)
|
||||||
rx->u.rx.amsdu_frame = 1;
|
rx->flags |= IEEE80211_TXRXD_RX_AMSDU;
|
||||||
else
|
else
|
||||||
rx->u.rx.amsdu_frame = 0;
|
rx->flags &= ~IEEE80211_TXRXD_RX_AMSDU;
|
||||||
} else {
|
} else {
|
||||||
if (unlikely((rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_MGMT)) {
|
if (unlikely((rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_MGMT)) {
|
||||||
/* Separate TID for management frames */
|
/* Separate TID for management frames */
|
||||||
@ -1221,7 +1221,7 @@ ieee80211_rx_h_amsdu(struct ieee80211_txrx_data *rx)
|
|||||||
if (unlikely(!WLAN_FC_DATA_PRESENT(fc)))
|
if (unlikely(!WLAN_FC_DATA_PRESENT(fc)))
|
||||||
return TXRX_DROP;
|
return TXRX_DROP;
|
||||||
|
|
||||||
if (!rx->u.rx.amsdu_frame)
|
if (!(rx->flags & IEEE80211_TXRXD_RX_AMSDU))
|
||||||
return TXRX_CONTINUE;
|
return TXRX_CONTINUE;
|
||||||
|
|
||||||
err = ieee80211_data_to_8023(rx);
|
err = ieee80211_data_to_8023(rx);
|
||||||
|
Reference in New Issue
Block a user