wok annotate linux/stuff/mac80211.compat08082009.wl_frag+ack_v1.patch @ rev 19422

fwknop: gpg support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Sep 30 19:44:10 2016 +0200 (2016-09-30)
parents a1084fda7f23
children ffc20f9bd49f
rev   line source
pankso@12285 1 diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
pankso@12285 2 index 0855cac..221bed6 100644
pankso@12285 3 --- a/net/mac80211/tx.c
pankso@12285 4 +++ b/net/mac80211/tx.c
pankso@15855 5 @@ -677,11 +677,19 @@ int tid;
pankso@12285 6
pankso@12285 7 /*
pankso@12285 8 * Packet injection may want to control the sequence
pankso@12285 9 - * number, if we have no matching interface then we
pankso@12285 10 - * neither assign one ourselves nor ask the driver to.
pankso@12285 11 + * number, so if an injected packet is found, skip
pankso@12285 12 + * renumbering it. Also make the packet NO_ACK to avoid
pankso@12285 13 + * excessive retries (ACKing and retrying should be
pankso@12285 14 + * handled by the injecting application).
pankso@12285 15 + * FIXME This may break hostapd and some other injectors.
pankso@12285 16 + * This should be done using a radiotap flag.
pankso@12285 17 */
pankso@12285 18 - if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR))
pankso@12285 19 + if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) &&
pankso@12285 20 + !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) {
pankso@12285 21 + if (!ieee80211_has_morefrags(hdr->frame_control))
pankso@12285 22 + info->flags |= IEEE80211_TX_CTL_NO_ACK;
pankso@12285 23 return TX_CONTINUE;
pankso@12285 24 + }
pankso@12285 25
pankso@12285 26 if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
pankso@12285 27 return TX_CONTINUE;