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

linux: update modules.list
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jan 02 15:04:05 2014 +0100 (2014-01-02)
parents 6f536abe4f0b
children db5b03f42dd9
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
pascal@15743 5 @@ -792,11 +792,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;