Search Linux Wireless

[PATCH v2] compat: deal with backported codel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Johannes Berg <johannes.berg@xxxxxxxxx>

Some distro kernels (in particular the Debian 3.2.0-3
kernel I'm running) backport codel already, so trying
to backport it again causes issues. Protect the compat
backport with #ifdef TCA_CODEL_MAX.

Also link the flow_dissector code into the codel module
which then won't be loaded on kernels that already have
codel backported.

Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
---
 compat/Makefile                                |    6 ++++--
 compat/flow_dissector.c                        |    1 -
 compat/{sch_fq_codel.c => sch_fq_codel_core.c} |    0
 include/linux/compat-3.5.h                     |    2 ++
 include/net/codel.h                            |    3 ++-
 5 files changed, 8 insertions(+), 4 deletions(-)
 rename compat/{sch_fq_codel.c => sch_fq_codel_core.c} (100%)

diff --git a/compat/Makefile b/compat/Makefile
index c661f5d..23c1296 100644
--- a/compat/Makefile
+++ b/compat/Makefile
@@ -3,6 +3,9 @@ obj-m += compat.o
 
 obj-$(CONFIG_COMPAT_FIRMWARE_CLASS) += compat_firmware_class.o
 obj-$(CONFIG_COMPAT_NET_SCH_CODEL) += sch_codel.o
+
+sch_fq_codel-y = sch_fq_codel_core.o flow_dissector.o
+
 obj-$(CONFIG_COMPAT_NET_SCH_FQ_CODEL) += sch_fq_codel.o
 
 compat-y += main.o
@@ -40,8 +43,7 @@ compat-$(CONFIG_COMPAT_KERNEL_3_0) += compat-3.0.o
 compat-$(CONFIG_COMPAT_KERNEL_3_1) += compat-3.1.o
 compat-$(CONFIG_COMPAT_KERNEL_3_2) += compat-3.2.o
 compat-$(CONFIG_COMPAT_KERNEL_3_3) += \
-	compat-3.3.o \
-	flow_dissector.o
+	compat-3.3.o
 compat-$(CONFIG_COMPAT_KERNEL_3_4) += compat-3.4.o
 
 compat-$(CONFIG_COMPAT_CORDIC) += cordic.o
diff --git a/compat/flow_dissector.c b/compat/flow_dissector.c
index 8affda0..7dd7ec1 100644
--- a/compat/flow_dissector.c
+++ b/compat/flow_dissector.c
@@ -141,4 +141,3 @@ ipv6:
 
 	return true;
 }
-EXPORT_SYMBOL_GPL(skb_flow_dissect);
diff --git a/compat/sch_fq_codel.c b/compat/sch_fq_codel_core.c
similarity index 100%
rename from compat/sch_fq_codel.c
rename to compat/sch_fq_codel_core.c
diff --git a/include/linux/compat-3.5.h b/include/linux/compat-3.5.h
index 6bb450d..7fadbf2 100644
--- a/include/linux/compat-3.5.h
+++ b/include/linux/compat-3.5.h
@@ -147,6 +147,7 @@ static inline int compat_vga_switcheroo_register_client(struct pci_dev *dev,
  *   Subject: [PATCH] codel: Controlled Delay AQM
  */
 
+#ifndef TCA_CODEL_MAX
 /* CODEL */
 
 enum {
@@ -234,6 +235,7 @@ struct tc_fq_codel_xstats {
 		struct tc_fq_codel_cl_stats class_stats;
 	};
 };
+#endif /* TCA_CODEL_MAX */
 
 
 /* Backports tty_lock: Localise the lock */
diff --git a/include/net/codel.h b/include/net/codel.h
index 128082e..ab901c5 100644
--- a/include/net/codel.h
+++ b/include/net/codel.h
@@ -1,6 +1,7 @@
 #include <linux/version.h>
+#include <linux/pkt_sched.h>
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)) || defined(TCA_CODEL_MAX)
 #include_next <net/codel.h>
 #else
 
-- 
1.7.10.4



--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux