wok diff linux/stuff/mac80211.compat08082009.wl_frag+ack_v1.patch @ rev 15600

Add some licenses
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Dec 05 15:25:09 2013 +0000 (2013-12-05)
parents
children a1084fda7f23
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/linux/stuff/mac80211.compat08082009.wl_frag+ack_v1.patch	Thu Dec 05 15:25:09 2013 +0000
     1.3 @@ -0,0 +1,27 @@
     1.4 +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
     1.5 +index 0855cac..221bed6 100644
     1.6 +--- a/net/mac80211/tx.c
     1.7 ++++ b/net/mac80211/tx.c
     1.8 +@@ -677,11 +677,19 @@ int tid;
     1.9 + 
    1.10 + 	/*
    1.11 + 	 * Packet injection may want to control the sequence
    1.12 +-	 * number, if we have no matching interface then we
    1.13 +-	 * neither assign one ourselves nor ask the driver to.
    1.14 ++	 * number, so if an injected packet is found, skip
    1.15 ++	 * renumbering it. Also make the packet NO_ACK to avoid
    1.16 ++	 * excessive retries (ACKing and retrying should be
    1.17 ++	 * handled by the injecting application).
    1.18 ++	 * FIXME This may break hostapd and some other injectors.
    1.19 ++	 * This should be done using a radiotap flag.
    1.20 + 	 */
    1.21 +-	if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR))
    1.22 ++	if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) &&
    1.23 ++	   !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) {
    1.24 ++		if (!ieee80211_has_morefrags(hdr->frame_control))
    1.25 ++			info->flags |= IEEE80211_TX_CTL_NO_ACK;
    1.26 + 		return TX_CONTINUE;
    1.27 ++	}
    1.28 + 
    1.29 + 	if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
    1.30 + 		return TX_CONTINUE;