compat-wireless patch addition

This commit is contained in:
Zero_Chaos 2009-12-05 02:31:23 +00:00
parent a6bdafb6e2
commit c812b265dd
3 changed files with 102 additions and 0 deletions

View file

@ -15,6 +15,7 @@ AUX failed_linux-wlanng-kernel-2.6.28.patch 11623 RMD160 23d11bb21ba059b7a0d7a2c
AUX failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch 6606 RMD160 e479eb0e796aec521e2269d50e9ccc4426e1da55 SHA1 c76220bb8f3a118a224e555517b7e111603da47e SHA256 6b761693587871591fc0ce96273d37f769f61d28f637c1692d931300c4f04504
AUX led-oops.patch 733 RMD160 50dc59a8893e7d77cf41653d8d39e5255dae8273 SHA1 9875b139e4111eb137cd1b43e3b68c85eb8915f5 SHA256 381f52b08f1b4c268fcc4ad88b0059d27b438bdab6acd4d54c882cc2505c99b9
AUX mac80211.compat08082009.wl_frag+ack_v1.patch 1049 RMD160 e864ee2e0c70ce344000baa8ee5fca3b23c3305a SHA1 85f7a1b141549b774f5631fba259bc414aeeffb8 SHA256 e04ed9997e1578cc1becd4ef9d9f2f6f606590aa91a56e42835963913e1b0f52
AUX rtl8187-mac80211-injection-speed-2.6.30-rc3.patch 1179 RMD160 e06fc37c08ce457ebeef7a7eaae8a05fb8aa7513 SHA1 77281c04d0e451860f27d0f621955a77b5e133d6 SHA256 bf6846089eb3d8cf7ebe119b4ffd1c32f7075a98d403fc8f96a5b49017c385b6
AUX whynot-2.6.31.patch 4272 RMD160 74ec1c66cfb376cf2c83401aa3edcdbfdd019438 SHA1 18f5680625ad68ebba773c8f39a04edf6456e2f2 SHA256 a1839efde553fb6c78b7121f94a3dc5401c146f9ff3e017e61de1b0298f4b371
AUX whynot-2.6.32.patch 666 RMD160 fcca9ac8d2152bebe51643a4250dffed383aae68 SHA1 5d7261437f5c98758f13c6c3f8a5676769b05013 SHA256 07cfc03d0ad5c47bec08d320afa63c79c0e6be9109dcf42b9811aad10bdc9c63
AUX whynot.patch 4106 RMD160 ac38e8dbbe1a59607fe16b36f327a9ba73a001e7 SHA1 2208598c9f9811d368db099c863be2a2af11681e SHA256 956cf3a0a8b8e1f0f0e3df985e351799f325a44e4cddf042d677a9e8109b7c9e
@ -37,5 +38,6 @@ EBUILD compat-wireless-2.6.32_rc6.ebuild 1779 RMD160 c943d857694cddcb21c92ace853
EBUILD compat-wireless-2.6.32_rc7-r1.ebuild 1929 RMD160 42b7a5c62813aa6f1f0681b9246efd34f217717a SHA1 81882c26de50066c171d5d0b521d2669bb127504 SHA256 8baad26721e3033629e64afd144f5f430d4ad3d6db6bee810d4c68775ea275c3
EBUILD compat-wireless-2.6.32_rc7-r2.ebuild 2015 RMD160 c402f6c8b17d3d457a7c5db669315b9bcc94679a SHA1 7d4febe08a8e131aa47b40c7640d9d5b607f3acf SHA256 3b0584cd529a950654dc625184b0822f4d7d10088c8901956d2bad05f3cb2ffc
EBUILD compat-wireless-2.6.32_rc7-r3.ebuild 2083 RMD160 d51afccc1626bc2263508c9b866c5493f9300584 SHA1 8f4abec2fd3c39f3e7367b11ef4235d450ad959b SHA256 f9a0fea176c5b90eefe9807fe8958e8e0288ead3fc500f8829a64485579ff7dd
EBUILD compat-wireless-2.6.32_rc7-r4.ebuild 2156 RMD160 2a42a40c593dc0774858c1cf066a282182b72d0a SHA1 64088fc1e165484db59d0111aedc6c631d68dc7d SHA256 4eba6d8e4c6e97d7db40df6c306d93548d38e259e38e1a93a409005e1db2c3d9
EBUILD compat-wireless-2.6.32_rc7.ebuild 1804 RMD160 184e3e153488b5dbbefd92368035086a9e15825f SHA1 11626bb82f0b04485fefcef2efaae9ef9e62f017 SHA256 fb33ffed690e34491e2d7bf50a99d1aea334fac7e814ce2e3cf61644dab23130
MISC metadata.xml 228 RMD160 cd3fb26b5d8049ab5dba38f21d7654ec033aa0eb SHA1 3148dfbdced7a623a311d21c6f728ab9c7135dae SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487

View file

@ -0,0 +1,70 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit linux-mod linux-info
##Stable
MY_P=${P/_rc/-rc}
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/v2.6.32/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="injection"
DEPEND=""
RDEPEND="=sys-kernel/linux-firmware-99999999"
S=${WORKDIR}/${MY_P}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
linux-mod_pkg_setup
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required"
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
}
src_prepare() {
#whynot patch is against the makefile to fix general brokeness
epatch "${FILESDIR}"/whynot-2.6.32.patch
epatch "${FILESDIR}"/4099-2.6.32-rc7-mac80211-security-fixes.patch
if use injection; then
epatch "${FILESDIR}"/400[24]_*.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
epatch "${FILESDIR}"/compat-chaos.patch;
epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
fi
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KVER="${KV_FULL}" || die "emake failed"
}
src_install() {
for file in $(find -name \*.ko); do
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
doins "${file}" || die "failed to install module ${file}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/modlib.sh scripts/b43enable scripts/load.sh \
scripts/unload.sh || die "script installation failed"
dodoc README || die
}
pkg_postinst() {
update_depmod
einfo 'You may have problem if you do not run "depmod -ae" after this installation'
einfo 'To switch to the new drivers without reboot run unload.sh then load.sh'
}

View file

@ -0,0 +1,30 @@
diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c
index 9212cea..08d04a3 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -258,7 +258,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
hdr->flags = cpu_to_le32(flags);
hdr->len = 0;
hdr->rts_duration = rts_dur;
- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
+ hdr->retry =
+ cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ else
+ hdr->retry = 0;
buf = hdr;
ep = 2;
@@ -276,7 +280,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
memset(hdr, 0, sizeof(*hdr));
hdr->flags = cpu_to_le32(flags);
hdr->rts_duration = rts_dur;
- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
+ hdr->retry =
+ cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ else
+ hdr->retry = 0;
hdr->tx_duration =
ieee80211_generic_frame_duration(dev, priv->vif,
skb->len, txrate);