diff options
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index b716fa2370b3..84f11733b9fe 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c | |||
@@ -741,6 +741,7 @@ static void ieee80211_rx_reorder_ampdu(struct ieee80211_rx_data *rx, | |||
741 | sc = le16_to_cpu(hdr->seq_ctrl); | 741 | sc = le16_to_cpu(hdr->seq_ctrl); |
742 | if (sc & IEEE80211_SCTL_FRAG) { | 742 | if (sc & IEEE80211_SCTL_FRAG) { |
743 | spin_unlock(&sta->lock); | 743 | spin_unlock(&sta->lock); |
744 | skb->pkt_type = IEEE80211_SDATA_QUEUE_TYPE_FRAME; | ||
744 | skb_queue_tail(&rx->sdata->skb_queue, skb); | 745 | skb_queue_tail(&rx->sdata->skb_queue, skb); |
745 | ieee80211_queue_work(&local->hw, &rx->sdata->work); | 746 | ieee80211_queue_work(&local->hw, &rx->sdata->work); |
746 | return; | 747 | return; |
@@ -1969,6 +1970,7 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) | |||
1969 | goto invalid; | 1970 | goto invalid; |
1970 | } | 1971 | } |
1971 | 1972 | ||
1973 | rx->skb->pkt_type = IEEE80211_SDATA_QUEUE_TYPE_FRAME; | ||
1972 | skb_queue_tail(&sdata->skb_queue, rx->skb); | 1974 | skb_queue_tail(&sdata->skb_queue, rx->skb); |
1973 | ieee80211_queue_work(&local->hw, &sdata->work); | 1975 | ieee80211_queue_work(&local->hw, &sdata->work); |
1974 | return RX_QUEUED; | 1976 | return RX_QUEUED; |
@@ -2001,6 +2003,7 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) | |||
2001 | if (memcmp(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN)) | 2003 | if (memcmp(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN)) |
2002 | break; | 2004 | break; |
2003 | 2005 | ||
2006 | rx->skb->pkt_type = IEEE80211_SDATA_QUEUE_TYPE_FRAME; | ||
2004 | skb_queue_tail(&sdata->skb_queue, rx->skb); | 2007 | skb_queue_tail(&sdata->skb_queue, rx->skb); |
2005 | ieee80211_queue_work(&local->hw, &sdata->work); | 2008 | ieee80211_queue_work(&local->hw, &sdata->work); |
2006 | return RX_QUEUED; | 2009 | return RX_QUEUED; |
@@ -2023,6 +2026,7 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) | |||
2023 | case WLAN_CATEGORY_MESH_PATH_SEL: | 2026 | case WLAN_CATEGORY_MESH_PATH_SEL: |
2024 | if (!ieee80211_vif_is_mesh(&sdata->vif)) | 2027 | if (!ieee80211_vif_is_mesh(&sdata->vif)) |
2025 | break; | 2028 | break; |
2029 | rx->skb->pkt_type = IEEE80211_SDATA_QUEUE_TYPE_FRAME; | ||
2026 | skb_queue_tail(&sdata->skb_queue, rx->skb); | 2030 | skb_queue_tail(&sdata->skb_queue, rx->skb); |
2027 | ieee80211_queue_work(&local->hw, &sdata->work); | 2031 | ieee80211_queue_work(&local->hw, &sdata->work); |
2028 | return RX_QUEUED; | 2032 | return RX_QUEUED; |
@@ -2128,6 +2132,7 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx) | |||
2128 | } | 2132 | } |
2129 | 2133 | ||
2130 | /* queue up frame and kick off work to process it */ | 2134 | /* queue up frame and kick off work to process it */ |
2135 | rx->skb->pkt_type = IEEE80211_SDATA_QUEUE_TYPE_FRAME; | ||
2131 | skb_queue_tail(&sdata->skb_queue, rx->skb); | 2136 | skb_queue_tail(&sdata->skb_queue, rx->skb); |
2132 | ieee80211_queue_work(&rx->local->hw, &sdata->work); | 2137 | ieee80211_queue_work(&rx->local->hw, &sdata->work); |
2133 | 2138 | ||