summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Pranaitis <jens@chaox.net>2010-06-01 21:08:10 +0200
committerJens Pranaitis <jens@chaox.net>2010-06-01 21:08:10 +0200
commitbd02f1324d7c44601565c62bf6264ca3b644d26c (patch)
tree733146d329f9e2fc899b0833cbc0e0b9585d0100
parentadded bitlbee with otr support (diff)
downloadjensp-bd02f1324d7c44601565c62bf6264ca3b644d26c.tar.gz
jensp-bd02f1324d7c44601565c62bf6264ca3b644d26c.tar.bz2
jensp-bd02f1324d7c44601565c62bf6264ca3b644d26c.zip
added yet another n900 kernel
-rw-r--r--sys-kernel/jens-n900-sources/Manifest6
-rw-r--r--sys-kernel/jens-n900-sources/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch37
-rw-r--r--sys-kernel/jens-n900-sources/files/mac80211.compat08082009.wl_frag+ack_v1.patch27
-rw-r--r--sys-kernel/jens-n900-sources/jens-n900-sources-2.6.34.ebuild30
4 files changed, 100 insertions, 0 deletions
diff --git a/sys-kernel/jens-n900-sources/Manifest b/sys-kernel/jens-n900-sources/Manifest
new file mode 100644
index 0000000..b7d5f06
--- /dev/null
+++ b/sys-kernel/jens-n900-sources/Manifest
@@ -0,0 +1,6 @@
+AUX 4013-runtime-enable-disable-of-mac80211-packet-injection.patch 1490 RMD160 53c728303c77b2ffd93917bceaaad6a38ee80236 SHA1 3b6aa934cf4c09deb8e93fcb08b10bfb1f6bdbb9 SHA256 88f997a54768feeb40a9f985e412e90e9fda2491f32cf6b078eb2a0a9f81e785
+AUX mac80211.compat08082009.wl_frag+ack_v1.patch 1049 RMD160 e864ee2e0c70ce344000baa8ee5fca3b23c3305a SHA1 85f7a1b141549b774f5631fba259bc414aeeffb8 SHA256 e04ed9997e1578cc1becd4ef9d9f2f6f606590aa91a56e42835963913e1b0f52
+DIST deblob-2.6.34 88276 RMD160 12f83200b74a9d859b7241b1e8d8c0250d8bcb90 SHA1 985bd73ebca8e720f92eb01d11c22e25d21865b6 SHA256 9478ada7a36f3858ef9ba3dc5c9609fb45fa9b286a002ccfba09045c81b217ed
+DIST linux-2.6.34.tar.bz2 67633622 RMD160 dafd721b00c13e3652405b517b379eed10020bf4 SHA1 4188857ba71f301991dc56285f593e9c311e5824 SHA256 fa395fec7de633df1cb85b6248b8f35af98380ed128a8bc465fb48bc4d252633
+DIST n900-super-patch.diff.bz2 110943 RMD160 6606c917f3ac12a969790242635a6adb99521ca0 SHA1 50d5c22d4f9629f917e7fd0cd12ef50ff5994213 SHA256 5ed6c7698153cd3ab52390e9dd01aa6a293edf3e48283de27c16e7c0f3bd754d
+EBUILD jens-n900-sources-2.6.34.ebuild 621 RMD160 d4d06b0580ef13df3469e71ed57cb100ab0b7b7c SHA1 29fcc3c3b4bfd7a413154f018c349ec8d626cfd2 SHA256 92c86830dc728e7b39dc26d0eaacbc2f8e0a8b05e2370e140b891d812431cd50
diff --git a/sys-kernel/jens-n900-sources/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch b/sys-kernel/jens-n900-sources/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
new file mode 100644
index 0000000..82d9a4c
--- /dev/null
+++ b/sys-kernel/jens-n900-sources/files/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
@@ -0,0 +1,37 @@
+--- net/mac80211/tx.c 2009-11-29 14:59:53.474095955 +0100
++++ net/mac80211/tx.c 2009-11-29 15:03:06.436871431 +0100
+@@ -670,6 +670,10 @@
+ return TX_CONTINUE;
+ }
+
++static int ieee80211_injection_patch = 1;
++module_param(ieee80211_injection_patch, int, 0644);
++MODULE_PARM_DESC(ieee80211_injection_patch, "Enable packet injection patch");
++
+ static ieee80211_tx_result debug_noinline
+ ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx)
+ {
+@@ -686,14 +690,20 @@
+ * 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.
++ * This should be done using a radiotap flag. For the time being, this
++ * may be enabled/disabled in
++ * /sys/module/mac80211/parameters/ieee80211_injection_patch
+ */
+- if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) &&
+- !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) {
++ if (unlikely(ieee80211_injection_patch &&
++ (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_injection_patch &&
++ info->control.vif->type == NL80211_IFTYPE_MONITOR))
++ return TX_CONTINUE;
+
+ if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
+ return TX_CONTINUE;
diff --git a/sys-kernel/jens-n900-sources/files/mac80211.compat08082009.wl_frag+ack_v1.patch b/sys-kernel/jens-n900-sources/files/mac80211.compat08082009.wl_frag+ack_v1.patch
new file mode 100644
index 0000000..8b7add3
--- /dev/null
+++ b/sys-kernel/jens-n900-sources/files/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
+@@ -677,11 +677,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/sys-kernel/jens-n900-sources/jens-n900-sources-2.6.34.ebuild b/sys-kernel/jens-n900-sources/jens-n900-sources-2.6.34.ebuild
new file mode 100644
index 0000000..bd82730
--- /dev/null
+++ b/sys-kernel/jens-n900-sources/jens-n900-sources-2.6.34.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+K_PREPATCHED="yes"
+UNIPATCH_STRICTORDER="yes"
+K_SECURITY_UNSUPPORTED="1"
+
+ETYPE="sources"
+
+inherit kernel-2
+detect_version
+
+UNIPATCH_LIST="${DISTDIR}/n900-super-patch.diff.bz2
+${FILESDIR}/mac80211.compat08082009.wl_frag+ack_v1.patch
+${FILESDIR}/4013-runtime-enable-disable-of-mac80211-packet-injection.patch"
+
+DESCRIPTION=""
+HOMEPAGE=""
+SRC_URI="${KERNEL_URI} http://chaox.net/~jens/n900-super-patch.diff.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~arm"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"