diff options
Diffstat (limited to 'net/mac80211/ieee80211.c')
-rw-r--r-- | net/mac80211/ieee80211.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 8f472379b128..289b33ce45cf 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c | |||
@@ -876,10 +876,15 @@ static void ieee80211_remove_tx_extra(struct ieee80211_local *local, | |||
876 | 876 | ||
877 | pkt_data = (struct ieee80211_tx_packet_data *)skb->cb; | 877 | pkt_data = (struct ieee80211_tx_packet_data *)skb->cb; |
878 | pkt_data->ifindex = control->ifindex; | 878 | pkt_data->ifindex = control->ifindex; |
879 | pkt_data->mgmt_iface = (control->type == IEEE80211_IF_TYPE_MGMT); | 879 | pkt_data->flags = 0; |
880 | pkt_data->req_tx_status = !!(control->flags & IEEE80211_TXCTL_REQ_TX_STATUS); | 880 | if (control->flags & IEEE80211_TXCTL_REQ_TX_STATUS) |
881 | pkt_data->do_not_encrypt = !!(control->flags & IEEE80211_TXCTL_DO_NOT_ENCRYPT); | 881 | pkt_data->flags |= IEEE80211_TXPD_REQ_TX_STATUS; |
882 | pkt_data->requeue = !!(control->flags & IEEE80211_TXCTL_REQUEUE); | 882 | if (control->flags & IEEE80211_TXCTL_DO_NOT_ENCRYPT) |
883 | pkt_data->flags |= IEEE80211_TXPD_DO_NOT_ENCRYPT; | ||
884 | if (control->flags & IEEE80211_TXCTL_REQUEUE) | ||
885 | pkt_data->flags |= IEEE80211_TXPD_REQUEUE; | ||
886 | if (control->type == IEEE80211_IF_TYPE_MGMT) | ||
887 | pkt_data->flags |= IEEE80211_TXPD_MGMT_IFACE; | ||
883 | pkt_data->queue = control->queue; | 888 | pkt_data->queue = control->queue; |
884 | 889 | ||
885 | hdrlen = ieee80211_get_hdrlen_from_skb(skb); | 890 | hdrlen = ieee80211_get_hdrlen_from_skb(skb); |