Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 102970
b: refs/heads/master
c: 87228f5
h: refs/heads/master
v: v3
  • Loading branch information
Harvey Harrison authored and John W. Linville committed Jun 14, 2008
1 parent 9aeed70 commit 5652edc
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 002aaf4ea6be3247c246d274979359c3bc93c82a
refs/heads/master: 87228f57434108d8463ff10fd408d8d1273a23d2
19 changes: 7 additions & 12 deletions trunk/net/mac80211/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,9 @@ static inline int should_drop_frame(struct ieee80211_rx_status *status,
return 1;
if (unlikely(skb->len < 16 + present_fcs_len + radiotap_len))
return 1;
if (((hdr->frame_control & cpu_to_le16(IEEE80211_FCTL_FTYPE)) ==
cpu_to_le16(IEEE80211_FTYPE_CTL)) &&
((hdr->frame_control & cpu_to_le16(IEEE80211_FCTL_STYPE)) !=
cpu_to_le16(IEEE80211_STYPE_PSPOLL)) &&
((hdr->frame_control & cpu_to_le16(IEEE80211_FCTL_STYPE)) !=
cpu_to_le16(IEEE80211_STYPE_BACK_REQ)))
if (ieee80211_is_ctl(hdr->frame_control) &&
!ieee80211_is_pspoll(hdr->frame_control) &&
!ieee80211_is_back_req(hdr->frame_control))
return 1;
return 0;
}
Expand Down Expand Up @@ -2118,7 +2115,7 @@ static u8 ieee80211_rx_reorder_ampdu(struct ieee80211_local *local,
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
struct sta_info *sta;
struct tid_ampdu_rx *tid_agg_rx;
u16 fc, sc;
u16 sc;
u16 mpdu_seq_num;
u8 ret = 0, *qc;
int tid;
Expand All @@ -2127,14 +2124,12 @@ static u8 ieee80211_rx_reorder_ampdu(struct ieee80211_local *local,
if (!sta)
return ret;

fc = le16_to_cpu(hdr->frame_control);

/* filter the QoS data rx stream according to
* STA/TID and check if this STA/TID is on aggregation */
if (!WLAN_FC_IS_QOS_DATA(fc))
if (!ieee80211_is_data_qos(hdr->frame_control))
goto end_reorder;

qc = skb->data + ieee80211_get_hdrlen(fc) - QOS_CONTROL_LEN;
qc = ieee80211_get_qos_ctl(hdr);
tid = qc[0] & QOS_CONTROL_TID_MASK;

if (sta->ampdu_mlme.tid_state_rx[tid] != HT_AGG_STATE_OPERATIONAL)
Expand All @@ -2143,7 +2138,7 @@ static u8 ieee80211_rx_reorder_ampdu(struct ieee80211_local *local,
tid_agg_rx = sta->ampdu_mlme.tid_rx[tid];

/* null data frames are excluded */
if (unlikely(fc & IEEE80211_STYPE_NULLFUNC))
if (unlikely(ieee80211_is_nullfunc(hdr->frame_control)))
goto end_reorder;

/* new un-ordered ampdu frame - process it */
Expand Down

0 comments on commit 5652edc

Please sign in to comment.