aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/mac80211/ieee80211_i.h4
-rw-r--r--net/mac80211/rx.c8
-rw-r--r--net/mac80211/tx.c1
3 files changed, 4 insertions, 9 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index a2870bc245d9..978c3a03ea57 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -172,7 +172,7 @@ struct ieee80211_tx_data {
172 struct sk_buff **extra_frag; 172 struct sk_buff **extra_frag;
173 int num_extra_frag; 173 int num_extra_frag;
174 174
175 u16 fc, ethertype; 175 u16 ethertype;
176 unsigned int flags; 176 unsigned int flags;
177}; 177};
178 178
@@ -200,7 +200,7 @@ struct ieee80211_rx_data {
200 struct ieee80211_rx_status *status; 200 struct ieee80211_rx_status *status;
201 struct ieee80211_rate *rate; 201 struct ieee80211_rate *rate;
202 202
203 u16 fc, ethertype; 203 u16 ethertype;
204 unsigned int flags; 204 unsigned int flags;
205 int sent_ps_buffered; 205 int sent_ps_buffered;
206 int queue; 206 int queue;
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 3a96251379f9..2464263cb7a5 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1057,7 +1057,6 @@ ieee80211_rx_h_remove_qos_control(struct ieee80211_rx_data *rx)
1057 ieee80211_hdrlen(hdr->frame_control) - IEEE80211_QOS_CTL_LEN); 1057 ieee80211_hdrlen(hdr->frame_control) - IEEE80211_QOS_CTL_LEN);
1058 hdr = (struct ieee80211_hdr *)skb_pull(rx->skb, IEEE80211_QOS_CTL_LEN); 1058 hdr = (struct ieee80211_hdr *)skb_pull(rx->skb, IEEE80211_QOS_CTL_LEN);
1059 /* change frame type to non QOS */ 1059 /* change frame type to non QOS */
1060 rx->fc &= ~IEEE80211_STYPE_QOS_DATA;
1061 hdr->frame_control &= ~cpu_to_le16(IEEE80211_STYPE_QOS_DATA); 1060 hdr->frame_control &= ~cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
1062 1061
1063 return RX_CONTINUE; 1062 return RX_CONTINUE;
@@ -1831,7 +1830,6 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
1831 1830
1832 rx.status = status; 1831 rx.status = status;
1833 rx.rate = rate; 1832 rx.rate = rate;
1834 rx.fc = le16_to_cpu(hdr->frame_control);
1835 1833
1836 if (ieee80211_is_data(hdr->frame_control) || ieee80211_is_mgmt(hdr->frame_control)) 1834 if (ieee80211_is_data(hdr->frame_control) || ieee80211_is_mgmt(hdr->frame_control))
1837 local->dot11ReceivedFragmentCount++; 1835 local->dot11ReceivedFragmentCount++;
@@ -1894,14 +1892,12 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
1894 prev->dev->name); 1892 prev->dev->name);
1895 continue; 1893 continue;
1896 } 1894 }
1897 rx.fc = le16_to_cpu(hdr->frame_control);
1898 ieee80211_invoke_rx_handlers(prev, &rx, skb_new); 1895 ieee80211_invoke_rx_handlers(prev, &rx, skb_new);
1899 prev = sdata; 1896 prev = sdata;
1900 } 1897 }
1901 if (prev) { 1898 if (prev)
1902 rx.fc = le16_to_cpu(hdr->frame_control);
1903 ieee80211_invoke_rx_handlers(prev, &rx, skb); 1899 ieee80211_invoke_rx_handlers(prev, &rx, skb);
1904 } else 1900 else
1905 dev_kfree_skb(skb); 1901 dev_kfree_skb(skb);
1906} 1902}
1907 1903
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 96ffb4d8dfbb..85f3ba85c132 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -993,7 +993,6 @@ __ieee80211_tx_prepare(struct ieee80211_tx_data *tx,
993 hdr = (struct ieee80211_hdr *) skb->data; 993 hdr = (struct ieee80211_hdr *) skb->data;
994 994
995 tx->sta = sta_info_get(local, hdr->addr1); 995 tx->sta = sta_info_get(local, hdr->addr1);
996 tx->fc = le16_to_cpu(hdr->frame_control);
997 996
998 if (is_multicast_ether_addr(hdr->addr1)) { 997 if (is_multicast_ether_addr(hdr->addr1)) {
999 tx->flags &= ~IEEE80211_TX_UNICAST; 998 tx->flags &= ~IEEE80211_TX_UNICAST;