diff options
author | corp | 2015-06-09 03:11:17 -0400 |
---|---|---|
committer | corp | 2015-06-09 03:11:17 -0400 |
commit | 6aa03c027922604d92172a1dde494b9d0a4d1971 (patch) | |
tree | 427c10e3d9fa0b1423da6ef4b64887ea8ae57d32 | |
parent | b0758811ac19e05d0aaece631358679b17237c46 (diff) | |
download | aur-6aa03c027922604d92172a1dde494b9d0a4d1971.tar.gz |
Added source files, version change to 4.1_rc1
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | 50-1-mac80211.compat08082009.wl_frag+ack_v1.patch | 27 | ||||
-rw-r--r-- | 60-1-compatdrivers_chan_qos_frag.patch | 68 | ||||
-rw-r--r-- | 70-1-fix-channel-negative-1.patch | 14 | ||||
-rw-r--r-- | PKGBUILD | 36 |
5 files changed, 134 insertions, 23 deletions
@@ -1,12 +1,16 @@ pkgbase = backports-patches-git pkgdesc = frag+ack, chan_qos_frag, and chan-neg-1 patches for backports-patched. - pkgver = r9.e8ff5f4 - pkgrel = 1 + pkgver = 4.1_rc1 + pkgrel = 2 url = https://backports.wiki.kernel.org/index.php/Main_Page arch = any license = GPL - source = backports-patches-git::git+https://github.com/hellnet/backports-patches.git - sha256sums = SKIP + source = 50-1-mac80211.compat08082009.wl_frag+ack_v1.patch + source = 60-1-compatdrivers_chan_qos_frag.patch + source = 70-1-fix-channel-negative-1.patch + sha256sums = aa31eb472ad45a5d731d81883172d16a61796e81d0bbac1f7eb5770d3f452869 + sha256sums = ae81b9a3b68bd89caf2d21834f40089ba9b786e09d74e3f094acdbecdc38767b + sha256sums = 642742930215db30b7ac8ea2318b9428d8c7a1989b2c8452703f8fbf0b9e41ae pkgname = backports-patches-git diff --git a/50-1-mac80211.compat08082009.wl_frag+ack_v1.patch b/50-1-mac80211.compat08082009.wl_frag+ack_v1.patch new file mode 100644 index 000000000000..f9a26d463857 --- /dev/null +++ b/50-1-mac80211.compat08082009.wl_frag+ack_v1.patch @@ -0,0 +1,27 @@ +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index 0855cac..221bed6 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -780,11 +780,19 @@ int tid; + + /* + * Packet injection may want to control the sequence +- * number, if we have no matching interface then we +- * neither assign one ourselves nor ask the driver to. ++ * number, so if an injected packet is found, skip ++ * renumbering it. Also make the packet NO_ACK to avoid ++ * excessive retries (ACKing and retrying should be ++ * handled by the injecting application). ++ * FIXME This may break hostapd and some other injectors. ++ * This should be done using a radiotap flag. + */ +- if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) ++ if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && ++ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { ++ if (!ieee80211_has_morefrags(hdr->frame_control)) ++ info->flags |= IEEE80211_TX_CTL_NO_ACK; + return TX_CONTINUE; ++ } + + if (unlikely(ieee80211_is_ctl(hdr->frame_control))) + return TX_CONTINUE; diff --git a/60-1-compatdrivers_chan_qos_frag.patch b/60-1-compatdrivers_chan_qos_frag.patch new file mode 100644 index 000000000000..aa5f32c6c78b --- /dev/null +++ b/60-1-compatdrivers_chan_qos_frag.patch @@ -0,0 +1,68 @@ + *original patch by Mathy Vanhoef + *http://www.mathyvanhoef.com/2012/09/compat-wireless-injection-patch-for.html + *fixed in offset by Devil_D, t3kk3n +diff -r 6b71629b673d drivers/net/wireless/rtl818x/rtl8187/dev.c +--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c Tue May 28 16:57:23 2013 -0400 ++++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c Tue May 28 17:16:15 2013 -0400 +@@ -252,8 +252,13 @@ + + flags |= ieee80211_get_tx_rate(dev, info)->hw_value << 24; + if (ieee80211_has_morefrags(tx_hdr->frame_control)) +- flags |= RTL818X_TX_DESC_FLAG_MOREFRAG; +- ++ { ++ // If info->control.vif is NULL it's most likely in monitor mode ++ if (likely(info->control.vif != NULL && info->control.vif->type != NL80211_IFTYPE_MONITOR)) { ++ flags |= RTL818X_TX_DESC_FLAG_MOREFRAG; ++ } ++ } ++ + /* HW will perform RTS-CTS when only RTS flags is set. + * HW will perform CTS-to-self when both RTS and CTS flags are set. + * RTS rate and RTS duration will be used also for CTS-to-self. + +diff -r 6b71629b673d net/mac80211/cfg.c +--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400 ++++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400 +@@ -839,7 +839,8 @@ ieee80211_vif_release_channel(sdata); + ret = ieee80211_vif_use_channel(sdata, chandef, + IEEE80211_CHANCTX_EXCLUSIVE); + } +- } else if (local->open_count == local->monitors) { ++ // Patch: Always allow channel change, even if a normal virtual interface is present ++ } else /*if (local->open_count == local->monitors)*/ { + local->_oper_chandef = *chandef; + ieee80211_hw_config(local, 0); + } + +diff -r 6b71629b673d net/mac80211/tx.c +--- a/net/mac80211/tx.c Tue May 28 16:57:23 2013 -0400 ++++ b/net/mac80211/tx.c Tue May 28 17:16:15 2013 -0400 +@@ -1534,7 +1534,10 @@ + } + } + +- ieee80211_set_qos_hdr(sdata, skb); ++ // Don't overwrite QoS header in monitor mode ++ if (likely(info->control.vif->type != NL80211_IFTYPE_MONITOR)) { ++ ieee80211_set_qos_hdr(sdata, skb); ++ } + ieee80211_tx(sdata, sta, skb, false); + } + +diff -r 6b71629b673d net/wireless/chan.c +--- a/net/wireless/chan.c Tue May 28 16:57:23 2013 -0400 ++++ b/net/wireless/chan.c Tue May 28 17:16:15 2013 -0400 +@@ -689,8 +689,10 @@ int cfg80211_set_monitor_channel(struct + { + if (!rdev->ops->set_monitor_channel) + return -EOPNOTSUPP; +- if (!cfg80211_has_monitors_only(rdev)) +- return -EBUSY; ++ // Always allow user to change channel, even if there is another normal ++ // virtual interface using the device. ++ //if (!cfg80211_has_monitors_only(rdev)) ++ // return -EBUSY; + + return rdev_set_monitor_channel(rdev, chandef); + } diff --git a/70-1-fix-channel-negative-1.patch b/70-1-fix-channel-negative-1.patch new file mode 100644 index 000000000000..ad5b815b87b9 --- /dev/null +++ b/70-1-fix-channel-negative-1.patch @@ -0,0 +1,14 @@ +--- a/net/mac80211/cfg.c ++++ b/net/mac80211/cfg.c +@@ -3904,9 +3905,9 @@ static int ieee80211_cfg_get_channel + if (chanctx_conf) { + *chandef = chanctx_conf->def; + ret = 0; +- } else if (local->open_count > 0 && ++ } else /*if (local->open_count > 0 && + local->open_count == local->monitors && +- sdata->vif.type == NL80211_IFTYPE_MONITOR) { ++ sdata->vif.type == NL80211_IFTYPE_MONITOR)*/ { + if (local->use_chanctx) + *chandef = local->monitor_chandef; + else @@ -1,30 +1,28 @@ # Maintainer: t3kk3n <corp [at] hush [dot] ai> -pkgname=backports-patches-git -pkgver=r9.e8ff5f4 -pkgrel=1 -pkgdesc="frag+ack, chan_qos_frag, and chan-neg-1 patches for backports-patched." -url='https://backports.wiki.kernel.org/index.php/Main_Page' -arch=('any') -license=('GPL') -source=('backports-patches-git::git+https://github.com/hellnet/backports-patches.git') -sha256sums='SKIP' +## Just to note - The version will match backports-patched _p1="50-1-mac80211.compat08082009.wl_frag+ack_v1.patch" _p2="60-1-compatdrivers_chan_qos_frag.patch" _p3="70-1-fix-channel-negative-1.patch" -pkgver() { - cd "$srcdir/$pkgname" - ( set -o pipefail - git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' || - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" - ) -} +pkgname=backports-patches-git +pkgver=4.1_rc1 +pkgrel=2 +pkgdesc="frag+ack, chan_qos_frag, and chan-neg-1 patches for backports-patched." +url="https://backports.wiki.kernel.org/index.php/Main_Page" +arch=('any') +license=('GPL') +source=("50-1-mac80211.compat08082009.wl_frag+ack_v1.patch" + "60-1-compatdrivers_chan_qos_frag.patch" + "70-1-fix-channel-negative-1.patch") +sha256sums=('aa31eb472ad45a5d731d81883172d16a61796e81d0bbac1f7eb5770d3f452869' + 'ae81b9a3b68bd89caf2d21834f40089ba9b786e09d74e3f094acdbecdc38767b' + '642742930215db30b7ac8ea2318b9428d8c7a1989b2c8452703f8fbf0b9e41ae') package() { install -d "${pkgdir}"/etc/makepkg.d/backports-patched/patches - install -m0644 "${srcdir}/${pkgname}/${_p1}" "${pkgdir}"/etc/makepkg.d/backports-patched/patches/${_p1} - install -m0644 "${srcdir}/${pkgname}/${_p2}" "${pkgdir}"/etc/makepkg.d/backports-patched/patches/${_p2} - install -m0644 "${srcdir}/${pkgname}/${_p3}" "${pkgdir}"/etc/makepkg.d/backports-patched/patches/${_p3} + install -m0644 "${srcdir}/${_p1}" "${pkgdir}"/etc/makepkg.d/backports-patched/patches/${_p1} + install -m0644 "${srcdir}/${_p2}" "${pkgdir}"/etc/makepkg.d/backports-patched/patches/${_p2} + install -m0644 "${srcdir}/${_p3}" "${pkgdir}"/etc/makepkg.d/backports-patched/patches/${_p3} } |