|
@@ -1057,7 +1057,6 @@ ieee80211_rx_h_remove_qos_control(struct ieee80211_rx_data *rx)
|
|
|
ieee80211_hdrlen(hdr->frame_control) - IEEE80211_QOS_CTL_LEN);
|
|
|
hdr = (struct ieee80211_hdr *)skb_pull(rx->skb, IEEE80211_QOS_CTL_LEN);
|
|
|
/* change frame type to non QOS */
|
|
|
- rx->fc &= ~IEEE80211_STYPE_QOS_DATA;
|
|
|
hdr->frame_control &= ~cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
|
|
|
|
|
|
return RX_CONTINUE;
|
|
@@ -1831,7 +1830,6 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
|
|
|
|
|
|
rx.status = status;
|
|
|
rx.rate = rate;
|
|
|
- rx.fc = le16_to_cpu(hdr->frame_control);
|
|
|
|
|
|
if (ieee80211_is_data(hdr->frame_control) || ieee80211_is_mgmt(hdr->frame_control))
|
|
|
local->dot11ReceivedFragmentCount++;
|
|
@@ -1894,14 +1892,12 @@ static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
|
|
|
prev->dev->name);
|
|
|
continue;
|
|
|
}
|
|
|
- rx.fc = le16_to_cpu(hdr->frame_control);
|
|
|
ieee80211_invoke_rx_handlers(prev, &rx, skb_new);
|
|
|
prev = sdata;
|
|
|
}
|
|
|
- if (prev) {
|
|
|
- rx.fc = le16_to_cpu(hdr->frame_control);
|
|
|
+ if (prev)
|
|
|
ieee80211_invoke_rx_handlers(prev, &rx, skb);
|
|
|
- } else
|
|
|
+ else
|
|
|
dev_kfree_skb(skb);
|
|
|
}
|
|
|
|