wok annotate linux/stuff/mac80211.compat08082009.wl_frag+ack_v1.patch @ rev 19008
busybox/fbvnc: wheelmouse support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Mar 28 18:04:41 2016 +0200 (2016-03-28) |
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; |