Просмотр исходного кода

update to 2.4.37, tested on wrt54gs (#4766)

SVN-Revision: 16144
Florian Fainelli 16 лет назад
Родитель
Сommit
cec852c087
36 измененных файлов с 178 добавлено и 507 удалено
  1. 3 6
      include/kernel-version.mk
  2. 37 73
      target/linux/brcm-2.4/patches/001-bcm47xx.patch
  3. 12 24
      target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch
  4. 8 16
      target/linux/brcm-2.4/patches/004-flash.patch
  5. 2 4
      target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch
  6. 2 4
      target/linux/brcm-2.4/patches/006-ide_workaround.patch
  7. 7 13
      target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch
  8. 2 4
      target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch
  9. 4 8
      target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch
  10. 2 4
      target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch
  11. 2 4
      target/linux/brcm-2.4/patches/012-aec62xx.patch
  12. 2 4
      target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch
  13. 4 6
      target/linux/brcm-2.4/patches/014-sierra_support.patch
  14. 6 8
      target/linux/brcm-2.4/patches/015-sierra_kconfig.patch
  15. 8 8
      target/linux/generic-2.4/patches/000-linux_mips.patch
  16. 7 7
      target/linux/generic-2.4/patches/001-squashfs.patch
  17. 1 1
      target/linux/generic-2.4/patches/003-jffs2_compression.patch
  18. 1 1
      target/linux/generic-2.4/patches/106-mppe_mppc.patch
  19. 1 1
      target/linux/generic-2.4/patches/107-cifs.patch
  20. 3 3
      target/linux/generic-2.4/patches/108-optional_aout_support.patch
  21. 1 1
      target/linux/generic-2.4/patches/110-netdev_random_core.patch
  22. 44 45
      target/linux/generic-2.4/patches/200-i4l.patch
  23. 0 38
      target/linux/generic-2.4/patches/202-pl2303_backport.patch
  24. 1 1
      target/linux/generic-2.4/patches/602-netfilter_layer7_2.21.patch
  25. 5 5
      target/linux/generic-2.4/patches/605-netfilter_TTL.patch
  26. 1 1
      target/linux/generic-2.4/patches/606-netfilter_NETMAP.patch
  27. 3 3
      target/linux/generic-2.4/patches/607-netfilter_connmark.patch
  28. 2 2
      target/linux/generic-2.4/patches/608-netfilter_ipset.patch
  29. 1 1
      target/linux/generic-2.4/patches/610-netfilter_connbytes.patch
  30. 1 1
      target/linux/generic-2.4/patches/611-netfilter_condition.patch
  31. 3 3
      target/linux/generic-2.4/patches/616-netfilter_imq.patch
  32. 0 116
      target/linux/generic-2.4/patches/619-netfilter_classify.patch
  33. 1 1
      target/linux/generic-2.4/patches/621-netfilter_random.patch
  34. 1 1
      target/linux/generic-2.4/patches/622-tc_esfq.patch
  35. 0 63
      target/linux/generic-2.4/patches/803-mii_ioctl.patch
  36. 0 26
      target/linux/generic-2.4/patches/900-CVE-2008-2136.patch

+ 3 - 6
include/kernel-version.mk

@@ -1,17 +1,14 @@
 # Use the default kernel version if the Makefile doesn't override it
 
 ifeq ($(KERNEL),2.4)
-  LINUX_VERSION?=2.4.35.4
+  LINUX_VERSION?=2.4.37
 else
   LINUX_VERSION?=2.6.21.7
 endif
 LINUX_RELEASE?=1
 
-ifeq ($(LINUX_VERSION),2.4.34)
-  LINUX_KERNEL_MD5SUM:=f59665540a7f3351ea416a0dad104b55
-endif
-ifeq ($(LINUX_VERSION),2.4.35.4)
-  LINUX_KERNEL_MD5SUM:=34066faff3d8c042df1c7600b08b8070
+ifeq ($(LINUX_VERSION),2.4.37)
+  LINUX_KERNEL_MD5SUM:=e4197b25bfddacee61490921c885b2ec
 endif
 ifeq ($(LINUX_VERSION),2.6.21.7)
   LINUX_KERNEL_MD5SUM:=bc15fad1487336d5dcb0945cd039d8ed

+ 37 - 73
target/linux/brcm-2.4/patches/001-bcm47xx.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/arch/mips/config-shared.in
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/config-shared.in
-+++ linux-2.4.35.4/arch/mips/config-shared.in
+--- a/arch/mips/config-shared.in
++++ b/arch/mips/config-shared.in
 @@ -208,6 +208,14 @@ if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]
     fi
     define_bool CONFIG_MIPS_RTC y
@@ -55,10 +53,8 @@ Index: linux-2.4.35.4/arch/mips/config-shared.in
  dep_bool '  Console output to GDB' CONFIG_GDB_CONSOLE $CONFIG_KGDB
  if [ "$CONFIG_KGDB" = "y" ]; then
     define_bool CONFIG_DEBUG_INFO y
-Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/cpu-probe.c
-+++ linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
+--- a/arch/mips/kernel/cpu-probe.c
++++ b/arch/mips/kernel/cpu-probe.c
 @@ -162,7 +162,7 @@ static inline int __cpu_has_fpu(void)
  
  static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
@@ -178,10 +174,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
  	case PRID_COMP_SIBYTE:
  		cpu_probe_sibyte(c);
  		break;
-Index: linux-2.4.35.4/arch/mips/kernel/head.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/head.S
-+++ linux-2.4.35.4/arch/mips/kernel/head.S
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
 @@ -28,12 +28,20 @@
  #include <asm/mipsregs.h>
  #include <asm/stackframe.h>
@@ -204,10 +198,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/head.S
  
  		/* The following two symbols are used for kernel profiling. */
  		EXPORT(stext)
-Index: linux-2.4.35.4/arch/mips/kernel/proc.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/proc.c
-+++ linux-2.4.35.4/arch/mips/kernel/proc.c
+--- a/arch/mips/kernel/proc.c
++++ b/arch/mips/kernel/proc.c
 @@ -78,9 +78,10 @@ static const char *cpu_name[] = {
  	[CPU_AU1550]	"Au1550",
  	[CPU_24K]	"MIPS 24K",
@@ -220,10 +212,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/proc.c
  static int show_cpuinfo(struct seq_file *m, void *v)
  {
  	unsigned int version = current_cpu_data.processor_id;
-Index: linux-2.4.35.4/arch/mips/kernel/setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/setup.c
-+++ linux-2.4.35.4/arch/mips/kernel/setup.c
+--- a/arch/mips/kernel/setup.c
++++ b/arch/mips/kernel/setup.c
 @@ -493,6 +493,7 @@ void __init setup_arch(char **cmdline_p)
  	void swarm_setup(void);
  	void hp_setup(void);
@@ -244,10 +234,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/setup.c
  	default:
  		panic("Unsupported architecture");
  	}
-Index: linux-2.4.35.4/arch/mips/kernel/traps.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/traps.c
-+++ linux-2.4.35.4/arch/mips/kernel/traps.c
+--- a/arch/mips/kernel/traps.c
++++ b/arch/mips/kernel/traps.c
 @@ -920,6 +920,7 @@ void __init per_cpu_trap_init(void)
  void __init trap_init(void)
  {
@@ -277,10 +265,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/traps.c
  	if (cpu_has_fpu && !cpu_has_nofpuex)
  		set_except_vector(15, handle_fpe);
  
-Index: linux-2.4.35.4/arch/mips/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/Makefile
-+++ linux-2.4.35.4/arch/mips/Makefile
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
 @@ -726,6 +726,19 @@ LOADADDR      += 0x80020000
  endif
  
@@ -309,10 +295,8 @@ Index: linux-2.4.35.4/arch/mips/Makefile
  
  archmrproper:
  	@$(MAKEBOOT) mrproper
-Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
 @@ -1118,3 +1118,47 @@ void __init ld_mmu_r4xx0(void)
  	build_clear_page();
  	build_copy_page();
@@ -361,10 +345,8 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
 +}
 +
 +
-Index: linux-2.4.35.4/arch/mips/pci/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/pci/Makefile
-+++ linux-2.4.35.4/arch/mips/pci/Makefile
+--- a/arch/mips/pci/Makefile
++++ b/arch/mips/pci/Makefile
 @@ -13,7 +13,9 @@ obj-$(CONFIG_MIPS_GT64120)	+= ops-gt6412
  obj-$(CONFIG_MIPS_MSC)		+= ops-msc.o
  obj-$(CONFIG_MIPS_NILE4)	+= ops-nile4.o
@@ -375,10 +357,8 @@ Index: linux-2.4.35.4/arch/mips/pci/Makefile
  obj-$(CONFIG_PCI_AUTO)		+= pci_auto.o
  
  include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/drivers/char/serial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/serial.c
-+++ linux-2.4.35.4/drivers/char/serial.c
+--- a/drivers/char/serial.c
++++ b/drivers/char/serial.c
 @@ -444,6 +444,10 @@ static _INLINE_ unsigned int serial_in(s
  		return inb(info->port+1);
  #endif
@@ -447,10 +427,8 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  	cval = cflag & (CSIZE | CSTOPB);
  #if defined(__powerpc__) || defined(__alpha__)
  	cval >>= 8;
-Index: linux-2.4.35.4/drivers/net/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Makefile
-+++ linux-2.4.35.4/drivers/net/Makefile
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
 @@ -3,6 +3,8 @@
  # Makefile for the Linux network (ethercard) device drivers.
  #
@@ -460,10 +438,8 @@ Index: linux-2.4.35.4/drivers/net/Makefile
  obj-y           :=
  obj-m           :=
  obj-n           :=
-Index: linux-2.4.35.4/drivers/parport/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/parport/Config.in
-+++ linux-2.4.35.4/drivers/parport/Config.in
+--- a/drivers/parport/Config.in
++++ b/drivers/parport/Config.in
 @@ -11,6 +11,7 @@ comment 'Parallel port support'
  tristate 'Parallel port support' CONFIG_PARPORT
  if [ "$CONFIG_PARPORT" != "n" ]; then
@@ -472,10 +448,8 @@ Index: linux-2.4.35.4/drivers/parport/Config.in
     if [ "$CONFIG_PARPORT_PC" != "n" -a "$CONFIG_SERIAL" != "n" ]; then
        if [ "$CONFIG_SERIAL" = "m" ]; then
           define_tristate CONFIG_PARPORT_PC_CML1 m
-Index: linux-2.4.35.4/drivers/parport/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/parport/Makefile
-+++ linux-2.4.35.4/drivers/parport/Makefile
+--- a/drivers/parport/Makefile
++++ b/drivers/parport/Makefile
 @@ -22,6 +22,7 @@ endif
  
  obj-$(CONFIG_PARPORT)		+= parport.o
@@ -484,10 +458,8 @@ Index: linux-2.4.35.4/drivers/parport/Makefile
  obj-$(CONFIG_PARPORT_PC_PCMCIA)	+= parport_cs.o
  obj-$(CONFIG_PARPORT_AMIGA)	+= parport_amiga.o
  obj-$(CONFIG_PARPORT_MFC3)	+= parport_mfc3.o
-Index: linux-2.4.35.4/include/asm-mips/bootinfo.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/bootinfo.h
-+++ linux-2.4.35.4/include/asm-mips/bootinfo.h
+--- a/include/asm-mips/bootinfo.h
++++ b/include/asm-mips/bootinfo.h
 @@ -37,6 +37,7 @@
  #define MACH_GROUP_HP_LJ       20 /* Hewlett Packard LaserJet               */
  #define MACH_GROUP_LASAT       21
@@ -512,10 +484,8 @@ Index: linux-2.4.35.4/include/asm-mips/bootinfo.h
   * Valid machtype for group TITAN
   */
  #define	MACH_TITAN_YOSEMITE	1 	/* PMC-Sierra Yosemite */
-Index: linux-2.4.35.4/include/asm-mips/cpu.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/cpu.h
-+++ linux-2.4.35.4/include/asm-mips/cpu.h
+--- a/include/asm-mips/cpu.h
++++ b/include/asm-mips/cpu.h
 @@ -22,6 +22,11 @@
     spec.
  */
@@ -564,10 +534,8 @@ Index: linux-2.4.35.4/include/asm-mips/cpu.h
  
  /*
   * ISA Level encodings
-Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h
-+++ linux-2.4.35.4/include/asm-mips/r4kcache.h
+--- a/include/asm-mips/r4kcache.h
++++ b/include/asm-mips/r4kcache.h
 @@ -567,4 +567,17 @@ static inline void blast_scache128_page_
  			cache128_unroll32(addr|ws,Index_Writeback_Inv_SD);
  }
@@ -586,10 +554,8 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
 +}      
 +
  #endif /* __ASM_R4KCACHE_H */
-Index: linux-2.4.35.4/include/asm-mips/serial.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/serial.h
-+++ linux-2.4.35.4/include/asm-mips/serial.h
+--- a/include/asm-mips/serial.h
++++ b/include/asm-mips/serial.h
 @@ -223,6 +223,13 @@
  #define TXX927_SERIAL_PORT_DEFNS
  #endif
@@ -612,11 +578,9 @@ Index: linux-2.4.35.4/include/asm-mips/serial.h
  	COBALT_SERIAL_PORT_DEFNS		\
  	DDB5477_SERIAL_PORT_DEFNS		\
  	EV96100_SERIAL_PORT_DEFNS		\
-Index: linux-2.4.35.4/init/do_mounts.c
-===================================================================
---- linux-2.4.35.4.orig/init/do_mounts.c
-+++ linux-2.4.35.4/init/do_mounts.c
-@@ -254,7 +254,13 @@ static struct dev_name_struct {
+--- a/init/do_mounts.c
++++ b/init/do_mounts.c
+@@ -255,7 +255,13 @@ static struct dev_name_struct {
  	{ "ftlb", 0x2c08 },
  	{ "ftlc", 0x2c10 },
  	{ "ftld", 0x2c18 },

+ 12 - 24
target/linux/brcm-2.4/patches/003-bcm47xx_cache_fixes.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/arch/mips/kernel/entry.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/entry.S
-+++ linux-2.4.35.4/arch/mips/kernel/entry.S
+--- a/arch/mips/kernel/entry.S
++++ b/arch/mips/kernel/entry.S
 @@ -100,6 +100,10 @@ END(except_vec1_generic)
  		 * and R4400 SC and MC versions.
  		 */
@@ -13,10 +11,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/entry.S
  #if R5432_CP0_INTERRUPT_WAR
  		mfc0	k0, CP0_INDEX
  #endif
-Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
 @@ -14,6 +14,12 @@
  #include <linux/mm.h>
  #include <linux/bitops.h>
@@ -244,10 +240,8 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  	probe_pcache();
  	setup_scache();
  
-Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/tlbex-mips32.S
-+++ linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
+--- a/arch/mips/mm/tlbex-mips32.S
++++ b/arch/mips/mm/tlbex-mips32.S
 @@ -90,6 +90,9 @@
  	.set	noat
  	LEAF(except_vec0_r4000)
@@ -258,10 +252,8 @@ Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
  #ifdef CONFIG_SMP
  	mfc0	k1, CP0_CONTEXT
  	la	k0, pgd_current
-Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h
-+++ linux-2.4.35.4/include/asm-mips/r4kcache.h
+--- a/include/asm-mips/r4kcache.h
++++ b/include/asm-mips/r4kcache.h
 @@ -15,6 +15,18 @@
  #include <asm/asm.h>
  #include <asm/cacheops.h>
@@ -464,10 +456,8 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  	do {
  		cache64_unroll32(start,Hit_Invalidate_I);
  		start += 0x800;
-Index: linux-2.4.35.4/include/asm-mips/stackframe.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/stackframe.h
-+++ linux-2.4.35.4/include/asm-mips/stackframe.h
+--- a/include/asm-mips/stackframe.h
++++ b/include/asm-mips/stackframe.h
 @@ -209,6 +209,20 @@
  
  #endif
@@ -489,10 +479,8 @@ Index: linux-2.4.35.4/include/asm-mips/stackframe.h
  #define RESTORE_SP                                       \
  		lw	sp,  PT_R29(sp);                 \
  
-Index: linux-2.4.35.4/mm/memory.c
-===================================================================
---- linux-2.4.35.4.orig/mm/memory.c
-+++ linux-2.4.35.4/mm/memory.c
+--- a/mm/memory.c
++++ b/mm/memory.c
 @@ -927,6 +927,7 @@ static inline void break_cow(struct vm_a
  	flush_page_to_ram(new_page);
  	flush_cache_page(vma, address);

+ 8 - 16
target/linux/brcm-2.4/patches/004-flash.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/mtd/devices/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/Config.in
-+++ linux-2.4.35.4/drivers/mtd/devices/Config.in
+--- a/drivers/mtd/devices/Config.in
++++ b/drivers/mtd/devices/Config.in
 @@ -5,6 +5,7 @@
  mainmenu_option next_comment
  
@@ -10,10 +8,8 @@ Index: linux-2.4.35.4/drivers/mtd/devices/Config.in
  dep_tristate '  Ramix PMC551 PCI Mezzanine RAM card support' CONFIG_MTD_PMC551 $CONFIG_MTD $CONFIG_PCI
  if [ "$CONFIG_MTD_PMC551" = "y" -o  "$CONFIG_MTD_PMC551" = "m" ]; then
     bool '    PMC551 256M DRAM Bugfix' CONFIG_MTD_PMC551_BUGFIX
-Index: linux-2.4.35.4/drivers/mtd/devices/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/Makefile
-+++ linux-2.4.35.4/drivers/mtd/devices/Makefile
+--- a/drivers/mtd/devices/Makefile
++++ b/drivers/mtd/devices/Makefile
 @@ -3,6 +3,8 @@
  #
  # $Id: Makefile,v 1.4 2001/06/26 21:10:05 spse Exp $
@@ -31,10 +27,8 @@ Index: linux-2.4.35.4/drivers/mtd/devices/Makefile
  obj-$(CONFIG_MTD_DOC1000)	+= doc1000.o
  obj-$(CONFIG_MTD_DOC2000)	+= doc2000.o
  obj-$(CONFIG_MTD_DOC2001)	+= doc2001.o
-Index: linux-2.4.35.4/drivers/mtd/maps/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Config.in
-+++ linux-2.4.35.4/drivers/mtd/maps/Config.in
+--- a/drivers/mtd/maps/Config.in
++++ b/drivers/mtd/maps/Config.in
 @@ -48,6 +48,7 @@ if [ "$CONFIG_PPC" = "y" ]; then
  fi
  
@@ -43,10 +37,8 @@ Index: linux-2.4.35.4/drivers/mtd/maps/Config.in
     dep_tristate '  Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000
     dep_tristate '  Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
     dep_tristate '  Pb1100 MTD support' CONFIG_MTD_PB1100 $CONFIG_MIPS_PB1100
-Index: linux-2.4.35.4/drivers/mtd/maps/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Makefile
-+++ linux-2.4.35.4/drivers/mtd/maps/Makefile
+--- a/drivers/mtd/maps/Makefile
++++ b/drivers/mtd/maps/Makefile
 @@ -3,6 +3,8 @@
  #
  # $Id: Makefile,v 1.37 2003/01/24 14:26:38 dwmw2 Exp $

+ 2 - 4
target/linux/brcm-2.4/patches/005-bluetooth_sco_buffer_align.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/bluetooth/hci_usb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/bluetooth/hci_usb.c
-+++ linux-2.4.35.4/drivers/bluetooth/hci_usb.c
+--- a/drivers/bluetooth/hci_usb.c
++++ b/drivers/bluetooth/hci_usb.c
 @@ -259,6 +259,9 @@ static int hci_usb_isoc_rx_submit(struct
  	void *buf;
  

+ 2 - 4
target/linux/brcm-2.4/patches/006-ide_workaround.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/arch/mips/lib/ide-std.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/lib/ide-std.c
-+++ linux-2.4.35.4/arch/mips/lib/ide-std.c
+--- a/arch/mips/lib/ide-std.c
++++ b/arch/mips/lib/ide-std.c
 @@ -31,12 +31,14 @@ static int std_ide_default_irq(ide_ioreg
  static ide_ioreg_t std_ide_default_io_base(int index)
  {

+ 7 - 13
target/linux/brcm-2.4/patches/008-b44_bcm47xx_support.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/net/b44.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.c
-+++ linux-2.4.35.4/drivers/net/b44.c
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
 @@ -1,7 +1,9 @@
  /* b44.c: Broadcom 4400 device driver.
   *
@@ -550,10 +548,8 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	return 0;
  
  err_out_iounmap:
-Index: linux-2.4.35.4/drivers/net/b44.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.h
-+++ linux-2.4.35.4/drivers/net/b44.h
+--- a/drivers/net/b44.h
++++ b/drivers/net/b44.h
 @@ -229,8 +229,6 @@
  #define  SBIPSFLAG_IMASK4	0x3f000000 /* Which sbflags --> mips interrupt 4 */
  #define  SBIPSFLAG_ISHIFT4	24
@@ -572,11 +568,9 @@ Index: linux-2.4.35.4/drivers/net/b44.h
  
  /* SW copy of device statistics, kept up to date by periodic timer
   * which probes HW values.  Must have same relative layout as HW
-Index: linux-2.4.35.4/include/linux/pci_ids.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/pci_ids.h
-+++ linux-2.4.35.4/include/linux/pci_ids.h
-@@ -1756,6 +1756,7 @@
+--- a/include/linux/pci_ids.h
++++ b/include/linux/pci_ids.h
+@@ -1765,6 +1765,7 @@
  #define PCI_DEVICE_ID_TIGON3_5901_2	0x170e
  #define PCI_DEVICE_ID_BCM4401		0x4401
  #define PCI_DEVICE_ID_BCM4401B0		0x4402

+ 2 - 4
target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/pcmcia/yenta.c
-+++ linux-2.4.35.4/drivers/pcmcia/yenta.c
+--- a/drivers/pcmcia/yenta.c
++++ b/drivers/pcmcia/yenta.c
 @@ -543,6 +543,9 @@ static unsigned int yenta_probe_irq(pci_
  	 * Probe for usable interrupts using the force
  	 * register to generate bogus card status events.

+ 4 - 8
target/linux/brcm-2.4/patches/010-bcm47xx-cam_absent.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/net/b44.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.h
-+++ linux-2.4.35.4/drivers/net/b44.h
+--- a/drivers/net/b44.h
++++ b/drivers/net/b44.h
 @@ -122,6 +122,7 @@
  #define  RXCONFIG_FLOW		0x00000020 /* Flow Control Enable */
  #define  RXCONFIG_FLOW_ACCEPT	0x00000040 /* Accept Unicast Flow Control Frame */
@@ -10,10 +8,8 @@ Index: linux-2.4.35.4/drivers/net/b44.h
  #define B44_RXMAXLEN	0x0404UL /* EMAC RX Max Packet Length */
  #define B44_TXMAXLEN	0x0408UL /* EMAC TX Max Packet Length */
  #define B44_MDIO_CTRL	0x0410UL /* EMAC MDIO Control */
-Index: linux-2.4.35.4/drivers/net/b44.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.c
-+++ linux-2.4.35.4/drivers/net/b44.c
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
 @@ -1299,6 +1299,7 @@ static int b44_set_mac_addr(struct net_d
  {
  	struct b44 *bp = dev->priv;

+ 2 - 4
target/linux/brcm-2.4/patches/011-wl_qdisc_war.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/net/sched/sch_generic.c
-===================================================================
---- linux-2.4.35.4.orig/net/sched/sch_generic.c
-+++ linux-2.4.35.4/net/sched/sch_generic.c
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
 @@ -84,6 +84,11 @@ int qdisc_restart(struct net_device *dev
  	struct sk_buff *skb;
  

+ 2 - 4
target/linux/brcm-2.4/patches/012-aec62xx.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/ide/pci/aec62xx.c
-+++ linux-2.4.35.4/drivers/ide/pci/aec62xx.c
+--- a/drivers/ide/pci/aec62xx.c
++++ b/drivers/ide/pci/aec62xx.c
 @@ -3,6 +3,8 @@
   *
   * Copyright (C) 1999-2002	Andre Hedrick <[email protected]>

+ 2 - 4
target/linux/brcm-2.4/patches/013-wl_hdd_pdc202xx.patch

@@ -1,7 +1,5 @@
-Index: linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/ide/pci/pdc202xx_old.c
-+++ linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
+--- a/drivers/ide/pci/pdc202xx_old.c
++++ b/drivers/ide/pci/pdc202xx_old.c
 @@ -253,23 +253,23 @@ static int pdc202xx_tune_chipset (ide_dr
  	pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
  

+ 4 - 6
target/linux/brcm-2.4/patches/014-sierra_support.patch

@@ -1,6 +1,5 @@
-diff -Naur linux-2.4.35.4-old/drivers/usb/serial/sierra.c linux-2.4.35.4/drivers/usb/serial/sierra.c
---- linux-2.4.35.4-old/drivers/usb/serial/sierra.c	1969-12-31 17:00:00.000000000 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/sierra.c	2008-01-25 10:21:25.747868456 -0700
+--- /dev/null
++++ b/drivers/usb/serial/sierra.c
 @@ -0,0 +1,1446 @@
 +/*
 + * Sierra Wireless CDMA Wireless Serial USB drive
@@ -1448,9 +1447,8 @@ diff -Naur linux-2.4.35.4-old/drivers/usb/serial/sierra.c linux-2.4.35.4/drivers
 +module_init(sierra_init);
 +module_exit(sierra_exit);
 +MODULE_LICENSE("GPL");
-diff -Naur linux-2.4.35.4-old/drivers/usb/serial/sierra.h linux-2.4.35.4/drivers/usb/serial/sierra.h
---- linux-2.4.35.4-old/drivers/usb/serial/sierra.h	1969-12-31 17:00:00.000000000 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/sierra.h	2008-01-25 10:15:35.640743578 -0700
+--- /dev/null
++++ b/drivers/usb/serial/sierra.h
 @@ -0,0 +1,32 @@
 +/*
 + * Sierra Wireless CDMA Wireless Serial USB drive

+ 6 - 8
target/linux/brcm-2.4/patches/015-sierra_kconfig.patch

@@ -1,7 +1,6 @@
-diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Config.in linux-2.4.35.4/drivers/usb/serial/Config.in
---- linux-2.4.35.4.orig/drivers/usb/serial/Config.in	2008-01-25 10:09:11.541747549 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/Config.in	2008-01-25 10:17:01.890745265 -0700
-@@ -39,6 +39,7 @@
+--- a/drivers/usb/serial/Config.in
++++ b/drivers/usb/serial/Config.in
+@@ -39,6 +39,7 @@ if [ "$CONFIG_USB_SERIAL" != "n" ]; then
     dep_tristate '  USB KOBIL chipcard reader (EXPERIMENTAL)' CONFIG_USB_SERIAL_KOBIL_SCT $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
     dep_tristate '  USB Prolific 2303 Single Port Serial Driver' CONFIG_USB_SERIAL_PL2303 $CONFIG_USB_SERIAL
     dep_tristate '  USB REINER SCT cyberJack pinpad/e-com chipcard reader (EXPERIMENTAL)' CONFIG_USB_SERIAL_CYBERJACK $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
@@ -9,10 +8,9 @@ diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Config.in linux-2.4.35.4/drive
     dep_tristate '  USB Xircom / Entregra Single Port Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_XIRCOM $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
     dep_tristate '  USB ZyXEL omni.net LCD Plus Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_OMNINET $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
  fi
-diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Makefile linux-2.4.35.4/drivers/usb/serial/Makefile
---- linux-2.4.35.4.orig/drivers/usb/serial/Makefile	2008-01-25 10:09:11.542749582 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/Makefile	2008-01-25 10:17:37.412855271 -0700
-@@ -26,6 +26,7 @@
+--- a/drivers/usb/serial/Makefile
++++ b/drivers/usb/serial/Makefile
+@@ -26,6 +26,7 @@ obj-$(CONFIG_USB_SERIAL_CYBERJACK)		+= c
  obj-$(CONFIG_USB_SERIAL_IR)			+= ir-usb.o
  obj-$(CONFIG_USB_SERIAL_KLSI)			+= kl5kusb105.o
  obj-$(CONFIG_USB_SERIAL_KOBIL_SCT)		+= kobil_sct.o

+ 8 - 8
target/linux/generic-2.4/patches/000-linux_mips.patch

@@ -12318,7 +12318,7 @@
 +module_exit(au1550spi_exit);
 --- a/drivers/char/Config.in
 +++ b/drivers/char/Config.in
-@@ -314,14 +314,11 @@ fi
+@@ -320,14 +320,11 @@ fi
  if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then
     bool 'Tadpole ANA H8 Support (OBSOLETE)'  CONFIG_H8
  fi
@@ -12335,7 +12335,7 @@
  fi
  if [ "$CONFIG_TOSHIBA_RBTX4927" = "y" -o "$CONFIG_TOSHIBA_JMR3927" = "y" ]; then
     tristate 'Dallas DS1742 RTC support' CONFIG_DS1742
-@@ -384,6 +381,11 @@ if [ "$CONFIG_DRM" = "y" ]; then
+@@ -390,6 +387,11 @@ if [ "$CONFIG_DRM" = "y" ]; then
        source drivers/char/drm/Config.in
     fi
  fi
@@ -12347,7 +12347,7 @@
  endmenu
  
  if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then
-@@ -392,6 +394,7 @@ fi
+@@ -398,6 +400,7 @@ fi
  if [ "$CONFIG_SOC_AU1X00" = "y" ]; then
     tristate ' Alchemy Au1x00 GPIO device support' CONFIG_AU1X00_GPIO
     tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1X00_ADS7846
@@ -14366,7 +14366,7 @@
  obj-$(CONFIG_DS1620) += ds1620.o
  obj-$(CONFIG_DS1742) += ds1742.o
  obj-$(CONFIG_INTEL_RNG) += i810_rng.o
-@@ -269,6 +274,7 @@ obj-$(CONFIG_BRIQ_PANEL) += briq_panel.o
+@@ -270,6 +275,7 @@ obj-$(CONFIG_BRIQ_PANEL) += briq_panel.o
  
  obj-$(CONFIG_ITE_GPIO) += ite_gpio.o
  obj-$(CONFIG_AU1X00_GPIO) += au1000_gpio.o
@@ -14374,7 +14374,7 @@
  obj-$(CONFIG_AU1X00_USB_TTY) += au1000_usbtty.o
  obj-$(CONFIG_AU1X00_USB_RAW) += au1000_usbraw.o
  obj-$(CONFIG_COBALT_LCD) += lcd.o
-@@ -355,3 +361,9 @@ defkeymap.c: defkeymap.map
+@@ -357,3 +363,9 @@ defkeymap.c: defkeymap.map
  
  qtronixmap.c: qtronixmap.map
  	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
@@ -27419,7 +27419,7 @@
  #define I2C_HW_SMBUS_ALI15X3	0x01
 --- a/include/linux/sched.h
 +++ b/include/linux/sched.h
-@@ -617,6 +617,10 @@ asmlinkage long sys_wait4(pid_t pid,unsi
+@@ -619,6 +619,10 @@ asmlinkage long sys_wait4(pid_t pid,unsi
  extern int in_group_p(gid_t);
  extern int in_egroup_p(gid_t);
  
@@ -27613,7 +27613,7 @@
  	return sig;
  }
  
-@@ -540,6 +558,11 @@ send_sig_info(int sig, struct siginfo *i
+@@ -551,6 +569,11 @@ send_sig_info(int sig, struct siginfo *i
  printk("SIG queue (%s:%d): %d ", t->comm, t->pid, sig);
  #endif
  
@@ -27625,7 +27625,7 @@
  	ret = -EINVAL;
  	if (sig < 0 || sig > _NSIG)
  		goto out_nolock;
-@@ -778,8 +801,8 @@ void do_notify_parent(struct task_struct
+@@ -789,8 +812,8 @@ void do_notify_parent(struct task_struct
  	info.si_uid = tsk->uid;
  
  	/* FIXME: find out whether or not this is supposed to be c*time. */

+ 7 - 7
target/linux/generic-2.4/patches/001-squashfs.patch

@@ -2930,7 +2930,7 @@
  		void				*generic_ip;
  	} u;
  };
-@@ -734,6 +736,7 @@ struct nameidata {
+@@ -736,6 +738,7 @@ struct nameidata {
  #include <linux/usbdev_fs_sb.h>
  #include <linux/cramfs_fs_sb.h>
  #include <linux/jffs2_fs_sb.h>
@@ -2938,7 +2938,7 @@
  
  extern struct list_head super_blocks;
  extern spinlock_t sb_lock;
-@@ -793,6 +796,7 @@ struct super_block {
+@@ -795,6 +798,7 @@ struct super_block {
  		struct usbdev_sb_info   usbdevfs_sb;
  		struct jffs2_sb_info	jffs2_sb;
  		struct cramfs_sb_info	cramfs_sb;
@@ -3990,7 +3990,7 @@
 +#endif
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -15,6 +15,7 @@
+@@ -16,6 +16,7 @@
  #include <linux/minix_fs.h>
  #include <linux/ext2_fs.h>
  #include <linux/romfs_fs.h>
@@ -3998,7 +3998,7 @@
  #include <linux/cramfs_fs.h>
  
  #define BUILD_CRAMDISK
-@@ -476,6 +477,7 @@ static int __init crd_load(int in_fd, in
+@@ -485,6 +486,7 @@ static int __init crd_load(int in_fd, in
   * 	minix
   * 	ext2
   *	romfs
@@ -4006,7 +4006,7 @@
   *	cramfs
   * 	gzip
   */
-@@ -486,6 +488,7 @@ identify_ramdisk_image(int fd, int start
+@@ -495,6 +497,7 @@ identify_ramdisk_image(int fd, int start
  	struct minix_super_block *minixsb;
  	struct ext2_super_block *ext2sb;
  	struct romfs_super_block *romfsb;
@@ -4014,7 +4014,7 @@
  	struct cramfs_super *cramfsb;
  	int nblocks = -1;
  	unsigned char *buf;
-@@ -497,6 +500,7 @@ identify_ramdisk_image(int fd, int start
+@@ -506,6 +509,7 @@ identify_ramdisk_image(int fd, int start
  	minixsb = (struct minix_super_block *) buf;
  	ext2sb = (struct ext2_super_block *) buf;
  	romfsb = (struct romfs_super_block *) buf;
@@ -4022,7 +4022,7 @@
  	cramfsb = (struct cramfs_super *) buf;
  	memset(buf, 0xe5, size);
  
-@@ -535,6 +539,15 @@ identify_ramdisk_image(int fd, int start
+@@ -544,6 +548,15 @@ identify_ramdisk_image(int fd, int start
  		goto done;
  	}
  

+ 1 - 1
target/linux/generic-2.4/patches/003-jffs2_compression.patch

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -17580,6 +17580,32 @@ CONFIG_JFFS2_FS_DEBUG
+@@ -17592,6 +17592,32 @@ CONFIG_JFFS2_FS_DEBUG
    If reporting bugs, please try to have available a full dump of the
    messages at debug level 1 while the misbehaviour was occurring.
  

+ 1 - 1
target/linux/generic-2.4/patches/106-mppe_mppc.patch

@@ -6,7 +6,7 @@ Microsoft Point-to-Point Encryption / Compression support
 
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -9974,6 +9974,28 @@ CONFIG_PPP_BSDCOMP
+@@ -9986,6 +9986,28 @@ CONFIG_PPP_BSDCOMP
    module; it is called bsd_comp.o and will show up in the directory
    modules once you have said "make modules". If unsure, say N.
  

+ 1 - 1
target/linux/generic-2.4/patches/107-cifs.patch

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -17995,6 +17995,34 @@ CONFIG_UNIXWARE_DISKLABEL
+@@ -18007,6 +18007,34 @@ CONFIG_UNIXWARE_DISKLABEL
  
    If you don't know what all this is about, say N.
  

+ 3 - 3
target/linux/generic-2.4/patches/108-optional_aout_support.patch

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -4690,6 +4690,12 @@ CONFIG_BINFMT_ELF
+@@ -4701,6 +4701,12 @@ CONFIG_BINFMT_ELF
    ld.so (check the file <file:Documentation/Changes> for location and
    latest version).
  
@@ -13,7 +13,7 @@
  Kernel support for a.out binaries
  CONFIG_BINFMT_AOUT
    A.out (Assembler.OUTput) is a set of formats for libraries and
-@@ -4703,13 +4709,11 @@ CONFIG_BINFMT_AOUT
+@@ -4714,13 +4720,11 @@ CONFIG_BINFMT_AOUT
    warrant removing support. However its removal is a good idea if you
    wish to ensure that absolutely none of your programs will use this
    older executable format. If you don't know what to answer at this
@@ -100,7 +100,7 @@
  
 --- a/arch/i386/config.in
 +++ b/arch/i386/config.in
-@@ -329,6 +329,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
+@@ -345,6 +345,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
  fi
  tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
  bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF

+ 1 - 1
target/linux/generic-2.4/patches/110-netdev_random_core.patch

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -10675,6 +10675,20 @@ CONFIG_TUN
+@@ -10687,6 +10687,20 @@ CONFIG_TUN
  
    If you don't know what to use this for, you don't need it.
  

+ 44 - 45
target/linux/generic-2.4/patches/200-i4l.patch

@@ -14460,7 +14460,7 @@
  #ifdef CONFIG_NETDEVICES
  			case IIOCNETAIF:
  				/* Add a network-interface */
-@@ -1654,22 +1808,12 @@ isdn_open(struct inode *ino, struct file
+@@ -1657,22 +1811,12 @@ isdn_open(struct inode *ino, struct file
  	int chidx;
  	int retval = -ENODEV;
  
@@ -14487,7 +14487,7 @@
  	}
  	if (!dev->channels)
  		goto out;
-@@ -1692,6 +1836,9 @@ isdn_open(struct inode *ino, struct file
+@@ -1695,6 +1839,9 @@ isdn_open(struct inode *ino, struct file
  		if (drvidx < 0)
  			goto out;
  		isdn_lock_drivers();
@@ -14497,7 +14497,7 @@
  		retval = 0;
  		goto out;
  	}
-@@ -1704,6 +1851,10 @@ isdn_open(struct inode *ino, struct file
+@@ -1707,6 +1854,10 @@ isdn_open(struct inode *ino, struct file
  	}
  #endif
   out:
@@ -14508,7 +14508,7 @@
  	return retval;
  }
  
-@@ -1712,25 +1863,11 @@ isdn_close(struct inode *ino, struct fil
+@@ -1715,25 +1866,11 @@ isdn_close(struct inode *ino, struct fil
  {
  	uint minor = MINOR(ino->i_rdev);
  
@@ -14537,7 +14537,7 @@
  	}
  	isdn_unlock_drivers();
  	if (minor <= ISDN_MINOR_BMAX)
-@@ -1738,6 +1875,12 @@ isdn_close(struct inode *ino, struct fil
+@@ -1741,6 +1878,12 @@ isdn_close(struct inode *ino, struct fil
  	if (minor <= ISDN_MINOR_CTRLMAX) {
  		if (dev->profd == current)
  			dev->profd = NULL;
@@ -14550,7 +14550,7 @@
  		goto out;
  	}
  #ifdef CONFIG_ISDN_PPP
-@@ -1746,13 +1889,19 @@ isdn_close(struct inode *ino, struct fil
+@@ -1749,13 +1892,19 @@ isdn_close(struct inode *ino, struct fil
  #endif
  
   out:
@@ -14570,7 +14570,7 @@
  	llseek:		no_llseek,
  	read:		isdn_read,
  	write:		isdn_write,
-@@ -1805,6 +1954,15 @@ isdn_get_free_channel(int usage, int l2_
+@@ -1808,6 +1957,15 @@ isdn_get_free_channel(int usage, int l2_
  		if (USG_NONE(dev->usage[i]) &&
  		    (dev->drvmap[i] != -1)) {
  			int d = dev->drvmap[i];
@@ -14586,7 +14586,7 @@
  			if ((dev->usage[i] & ISDN_USAGE_EXCLUSIVE) &&
  			((pre_dev != d) || (pre_chan != dev->chanmap[i])))
  				continue;
-@@ -1823,7 +1981,11 @@ isdn_get_free_channel(int usage, int l2_
+@@ -1826,7 +1984,11 @@ isdn_get_free_channel(int usage, int l2_
  						restore_flags(flags);
  						return i;
  					} else {
@@ -14598,7 +14598,7 @@
  							dev->usage[i] &= ISDN_USAGE_EXCLUSIVE;
  							dev->usage[i] |= usage;
  							isdn_info_update();
-@@ -2010,7 +2172,7 @@ isdn_add_channels(driver *d, int drvidx,
+@@ -2013,7 +2175,7 @@ isdn_add_channels(driver *d, int drvidx,
  
  	if ((adding) && (d->rcverr))
  		kfree(d->rcverr);
@@ -14607,7 +14607,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc rcverr\n");
  		return -1;
  	}
-@@ -2018,7 +2180,7 @@ isdn_add_channels(driver *d, int drvidx,
+@@ -2021,7 +2183,7 @@ isdn_add_channels(driver *d, int drvidx,
  
  	if ((adding) && (d->rcvcount))
  		kfree(d->rcvcount);
@@ -14616,7 +14616,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc rcvcount\n");
  		if (!adding) kfree(d->rcverr);
  		return -1;
-@@ -2030,7 +2192,8 @@ isdn_add_channels(driver *d, int drvidx,
+@@ -2033,7 +2195,8 @@ isdn_add_channels(driver *d, int drvidx,
  			skb_queue_purge(&d->rpqueue[j]);
  		kfree(d->rpqueue);
  	}
@@ -14626,7 +14626,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc rpqueue\n");
  		if (!adding) {
  			kfree(d->rcvcount);
-@@ -2044,7 +2207,8 @@ isdn_add_channels(driver *d, int drvidx,
+@@ -2047,7 +2210,8 @@ isdn_add_channels(driver *d, int drvidx,
  
  	if ((adding) && (d->rcv_waitq))
  		kfree(d->rcv_waitq);
@@ -14636,7 +14636,7 @@
  	if (!d->rcv_waitq) {
  		printk(KERN_WARNING "register_isdn: Could not alloc rcv_waitq\n");
  		if (!adding) {
-@@ -2068,7 +2232,9 @@ isdn_add_channels(driver *d, int drvidx,
+@@ -2071,7 +2235,9 @@ isdn_add_channels(driver *d, int drvidx,
  			if (dev->chanmap[k] < 0) {
  				dev->chanmap[k] = j;
  				dev->drvmap[k] = drvidx;
@@ -14646,7 +14646,7 @@
  				break;
  			}
  	restore_flags(flags);
-@@ -2132,6 +2298,7 @@ int DIVERT_REG_NAME(isdn_divert_if *i_di
+@@ -2135,6 +2301,7 @@ int DIVERT_REG_NAME(isdn_divert_if *i_di
          i_div->ll_cmd = isdn_command; /* set command function */
          i_div->drv_to_name = map_drvname; 
          i_div->name_to_drv = map_namedrv; 
@@ -14654,7 +14654,7 @@
          MOD_INC_USE_COUNT;
          divert_if = i_div; /* remember interface */
          return(DIVERT_NO_ERR);
-@@ -2169,7 +2336,7 @@ register_isdn(isdn_if * i)
+@@ -2172,7 +2339,7 @@ register_isdn(isdn_if * i)
  		printk(KERN_WARNING "register_isdn: No write routine given.\n");
  		return 0;
  	}
@@ -14663,7 +14663,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc driver-struct\n");
  		return 0;
  	}
-@@ -2229,6 +2396,7 @@ isdn_getrev(const char *revision)
+@@ -2232,6 +2399,7 @@ isdn_getrev(const char *revision)
  	return rev;
  }
  
@@ -14671,7 +14671,7 @@
  #ifdef CONFIG_DEVFS_FS
  
  static devfs_handle_t devfs_handle;
-@@ -2318,6 +2486,7 @@ static void isdn_cleanup_devfs(void)
+@@ -2321,6 +2489,7 @@ static void isdn_cleanup_devfs(void)
  }
  
  #endif  /* CONFIG_DEVFS_FS */
@@ -14679,7 +14679,7 @@
  
  /*
   * Allocate and initialize all data, register modem-devices
-@@ -2335,7 +2504,6 @@ static int __init isdn_init(void)
+@@ -2338,7 +2507,6 @@ static int __init isdn_init(void)
  	init_timer(&dev->timer);
  	dev->timer.function = isdn_timer_funct;
  	init_MUTEX(&dev->sem);
@@ -14687,7 +14687,7 @@
  	for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
  		dev->drvmap[i] = -1;
  		dev->chanmap[i] = -1;
-@@ -2349,7 +2517,9 @@ static int __init isdn_init(void)
+@@ -2352,7 +2520,9 @@ static int __init isdn_init(void)
  		vfree(dev);
  		return -EIO;
  	}
@@ -14697,7 +14697,7 @@
  	if ((i = isdn_tty_modem_init()) < 0) {
  		printk(KERN_WARNING "isdn: Could not register tty devices\n");
  		if (i == -3)
-@@ -2357,7 +2527,9 @@ static int __init isdn_init(void)
+@@ -2360,7 +2530,9 @@ static int __init isdn_init(void)
  		if (i <= -2)
  			tty_unregister_driver(&dev->mdm.tty_modem);
  		vfree(dev);
@@ -14707,7 +14707,7 @@
  		devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
  		return -EIO;
  	}
-@@ -2368,7 +2540,9 @@ static int __init isdn_init(void)
+@@ -2371,7 +2543,9 @@ static int __init isdn_init(void)
  		tty_unregister_driver(&dev->mdm.cua_modem);
  		for (i = 0; i < ISDN_MAX_CHANNELS; i++)
  			kfree(dev->mdm.info[i].xmit_buf - 4);
@@ -14717,7 +14717,7 @@
  		devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
  		vfree(dev);
  		return -EIO;
-@@ -2394,6 +2568,9 @@ static int __init isdn_init(void)
+@@ -2397,6 +2571,9 @@ static int __init isdn_init(void)
  	printk("\n");
  #endif
  	isdn_info_update();
@@ -14727,7 +14727,7 @@
  	return 0;
  }
  
-@@ -2402,7 +2579,7 @@ static int __init isdn_init(void)
+@@ -2405,7 +2582,7 @@ static int __init isdn_init(void)
   */
  static void __exit isdn_exit(void)
  {
@@ -14736,7 +14736,7 @@
  	int i;
  
  #ifdef CONFIG_ISDN_PPP
-@@ -2436,13 +2613,18 @@ static void __exit isdn_exit(void)
+@@ -2439,13 +2616,18 @@ static void __exit isdn_exit(void)
  		printk(KERN_WARNING "isdn: controldevice busy, remove cancelled\n");
  		restore_flags(flags);
  	} else {
@@ -17070,20 +17070,19 @@
  	netif_rx(skb);
  	return;
  }
-@@ -2160,8 +2915,10 @@ isdn_net_find_icall(int di, int ch, int 
+@@ -2160,7 +2915,10 @@ isdn_net_find_icall(int di, int ch, int 
  	isdn_net_phone *n;
  	ulong flags;
- 	char nr[32];
+ 	char nr[ISDN_MSNLEN];
 -	char *my_eaz;
--
 +#ifdef CONFIG_ISDN_WITH_ABC
 +	if(dev->net_verbose > 2)
 +		printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=0x%04X\n", di, ch, idx,dev->usage[idx]);
 +#endif
+ 
  	/* Search name in netdev-chain */
  	save_flags(flags);
- 	cli();
-@@ -2180,17 +2937,15 @@ isdn_net_find_icall(int di, int ch, int 
+@@ -2182,17 +2940,15 @@ isdn_net_find_icall(int di, int ch, int 
  		eaz = setup->eazmsn;
  	if (dev->net_verbose > 1)
  		printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", nr, si1, si2, eaz);
@@ -17110,7 +17109,7 @@
  	ematch = wret = swapped = 0;
  #ifdef ISDN_DEBUG_NET_ICALL
  	printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=%d\n", di, ch, idx,
-@@ -2210,25 +2965,8 @@ p = dev->netdev;
+@@ -2212,25 +2968,8 @@ p = dev->netdev;
  				break;
  		}
  		swapped = 0;
@@ -17138,7 +17137,7 @@
  		/* Remember if more numbers eventually can match */
  		if (matchret > wret)
  			wret = matchret;
-@@ -2236,17 +2974,122 @@ p = dev->netdev;
+@@ -2238,17 +2977,122 @@ p = dev->netdev;
  		printk(KERN_DEBUG "n_fi: if='%s', l.msn=%s, l.flags=%d, l.dstate=%d\n",
  		       lp->name, lp->msn, lp->flags, lp->dialstate);
  #endif
@@ -17261,7 +17260,7 @@
  			if (dev->usage[idx] & ISDN_USAGE_EXCLUSIVE) {
  				if ((lp->pre_channel != ch) ||
  				    (lp->pre_device != di)) {
-@@ -2375,6 +3218,12 @@ p = dev->netdev;
+@@ -2377,6 +3221,12 @@ p = dev->netdev;
  						continue;
  					}
  				} 
@@ -17274,7 +17273,7 @@
  				if (lp->flags & ISDN_NET_CALLBACK) {
  					int chi;
  					/*
-@@ -2427,6 +3276,47 @@ p = dev->netdev;
+@@ -2429,6 +3279,47 @@ p = dev->netdev;
  					restore_flags(flags);
  					return 0;
  				} else {
@@ -17322,7 +17321,7 @@
  					printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
  					       eaz);
  					/* if this interface is dialing, it does it probably on a different
-@@ -2516,7 +3406,11 @@ isdn_net_force_dial_lp(isdn_net_local * 
+@@ -2518,7 +3409,11 @@ isdn_net_force_dial_lp(isdn_net_local * 
  							lp->l3_proto,
  							lp->pre_device,
  						 	lp->pre_channel,
@@ -17334,7 +17333,7 @@
  							) < 0) {
  				printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
  				restore_flags(flags);
-@@ -2599,7 +3493,11 @@ isdn_net_new(char *name, struct net_devi
+@@ -2601,7 +3496,11 @@ isdn_net_new(char *name, struct net_devi
  		strcpy(netdev->local->name, "         ");
  	else
  		strcpy(netdev->local->name, name);
@@ -17346,7 +17345,7 @@
  	netdev->dev.priv = netdev->local;
  	netdev->dev.init = isdn_net_init;
  	netdev->local->p_encap = ISDN_NET_ENCAP_RAWIP;
-@@ -2617,11 +3515,13 @@ isdn_net_new(char *name, struct net_devi
+@@ -2619,11 +3518,13 @@ isdn_net_new(char *name, struct net_devi
  		((isdn_net_local *) q->priv)->slave = &(netdev->dev);
  	} else {
  		/* Device shall be a master */
@@ -17360,7 +17359,7 @@
  		if (register_netdev(&netdev->dev) != 0) {
  			printk(KERN_WARNING "isdn_net: Could not register net-device\n");
  			kfree(netdev->local);
-@@ -2658,6 +3558,9 @@ isdn_net_new(char *name, struct net_devi
+@@ -2660,6 +3561,9 @@ isdn_net_new(char *name, struct net_devi
  	netdev->local->hupflags = ISDN_INHUP;	/* Do hangup even on incoming calls */
  	netdev->local->onhtime = 10;	/* Default hangup-time for saving costs
  	   of those who forget configuring this */
@@ -17370,7 +17369,7 @@
  	netdev->local->dialmax = 1;
  	netdev->local->flags = ISDN_NET_CBHUP | ISDN_NET_DM_MANUAL;	/* Hangup before Callback, manual dial */
  	netdev->local->cbdelay = 25;	/* Wait 5 secs before Callback */
-@@ -2831,7 +3734,6 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
+@@ -2833,7 +3737,6 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
  
  			/* If binding is exclusive, try to grab the channel */
  			save_flags(flags);
@@ -17378,7 +17377,7 @@
  			if ((i = isdn_get_free_channel(ISDN_USAGE_NET,
  				lp->l2_proto, lp->l3_proto, drvidx,
  				chidx, lp->msn)) < 0) {
-@@ -2859,6 +3761,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
+@@ -2862,6 +3765,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
  		lp->pre_device = drvidx;
  		lp->pre_channel = chidx;
  		lp->onhtime = cfg->onhtime;
@@ -17388,7 +17387,7 @@
  		lp->charge = cfg->charge;
  		lp->l2_proto = cfg->l2_proto;
  		lp->l3_proto = cfg->l3_proto;
-@@ -2932,6 +3837,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
+@@ -2935,6 +3841,9 @@ isdn_net_setcfg(isdn_net_ioctl_cfg * cfg
  			}
  		}
  		lp->p_encap = cfg->p_encap;
@@ -17398,8 +17397,8 @@
  		return 0;
  	}
  	return -ENODEV;
-@@ -3007,6 +3915,9 @@ isdn_net_addphone(isdn_net_ioctl_phone *
- 		strcpy(n->num, phone->phone);
+@@ -3011,6 +3920,9 @@ isdn_net_addphone(isdn_net_ioctl_phone *
+ 		n->num[sizeof(n->num) - 1] = 0;
  		n->next = p->local->phone[phone->outgoing & 1];
  		p->local->phone[phone->outgoing & 1] = n;
 +#ifdef CONFIG_ISDN_WITH_ABC
@@ -17408,7 +17407,7 @@
  		return 0;
  	}
  	return -ENODEV;
-@@ -3100,6 +4011,9 @@ isdn_net_delphone(isdn_net_ioctl_phone *
+@@ -3104,6 +4016,9 @@ isdn_net_delphone(isdn_net_ioctl_phone *
  				else
  					p->local->phone[inout] = n->next;
  				kfree(n);
@@ -17418,7 +17417,7 @@
  				restore_flags(flags);
  				return 0;
  			}
-@@ -3135,6 +4049,9 @@ isdn_net_rmallphone(isdn_net_dev * p)
+@@ -3139,6 +4054,9 @@ isdn_net_rmallphone(isdn_net_dev * p)
  		p->local->phone[i] = NULL;
  	}
  	p->local->dial = NULL;
@@ -17428,7 +17427,7 @@
  	restore_flags(flags);
  	return 0;
  }
-@@ -3218,6 +4135,10 @@ isdn_net_realrm(isdn_net_dev * p, isdn_n
+@@ -3222,6 +4140,10 @@ isdn_net_realrm(isdn_net_dev * p, isdn_n
  	/* If no more net-devices remain, disable auto-hangup timer */
  	if (dev->netdev == NULL)
  		isdn_timer_ctrl(ISDN_TIMER_NETHANGUP, 0);

+ 0 - 38
target/linux/generic-2.4/patches/202-pl2303_backport.patch

@@ -1,38 +0,0 @@
---- a/drivers/usb/serial/pl2303.c
-+++ b/drivers/usb/serial/pl2303.c
-@@ -78,6 +78,11 @@ static struct usb_device_id id_table [] 
- 	{ USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) },
- 	{ USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) },
- 	{ USB_DEVICE(SITECOM_VENDOR_ID, SITECOM_PRODUCT_ID) },
-+	{ USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_ID) },
-+	{ USB_DEVICE(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_ID) },
-+	{ USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) },
-+	{ USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) },
-+	{ USB_DEVICE(NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID) },
- 	{ }					/* Terminating entry */
- };
- 
---- a/drivers/usb/serial/pl2303.h
-+++ b/drivers/usb/serial/pl2303.h
-@@ -41,3 +41,21 @@
- 
- #define SITECOM_VENDOR_ID	0x6189
- #define SITECOM_PRODUCT_ID	0x2068
-+
-+/* Alcatel OT535/735 USB cable */
-+#define ALCATEL_VENDOR_ID	0x11f7
-+#define ALCATEL_PRODUCT_ID	0x02df
-+
-+/* Samsung I330 phone cradle */
-+#define SAMSUNG_VENDOR_ID	0x04e8
-+#define SAMSUNG_PRODUCT_ID	0x8001
-+
-+#define SIEMENS_VENDOR_ID	0x11f5
-+#define SIEMENS_PRODUCT_ID_X65	0x0003
-+
-+#define SYNTECH_VENDOR_ID	0x0745
-+#define SYNTECH_PRODUCT_ID	0x0001
-+
-+/* Nokia CA-42 Cable */
-+#define NOKIA_CA42_VENDOR_ID	0x078b
-+#define NOKIA_CA42_PRODUCT_ID	0x1234

+ 1 - 1
target/linux/generic-2.4/patches/602-netfilter_layer7_2.21.patch

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -29207,6 +29207,18 @@ CONFIG_SOUND_WM97XX
+@@ -29252,6 +29252,18 @@ CONFIG_SOUND_WM97XX
    
    If unsure, say N.
  

+ 5 - 5
target/linux/generic-2.4/patches/605-netfilter_TTL.patch

@@ -1,8 +1,8 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -3209,6 +3209,15 @@ CONFIG_IP_NF_TARGET_LOG
+@@ -3220,6 +3220,15 @@ CONFIG_IP_NF_TARGET_CLASSIFY
    If you want to compile it as a module, say M here and read
-   <file:Documentation/modules.txt>.  If unsure, say `N'.
+   Documentation/modules.txt.  If unsure, say `N'.
  
 +TTL target support
 +CONFIG_IP_NF_TARGET_TTL
@@ -42,8 +42,8 @@
 +#endif
 --- a/net/ipv4/netfilter/Config.in
 +++ b/net/ipv4/netfilter/Config.in
-@@ -125,6 +125,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; 
-     dep_tristate '    MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
+@@ -126,6 +126,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; 
+     dep_tristate '    CLASSIFY target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_CLASSIFY $CONFIG_IP_NF_MANGLE
    fi
    dep_tristate '  LOG target support' CONFIG_IP_NF_TARGET_LOG $CONFIG_IP_NF_IPTABLES
 +  dep_tristate '  TTL target support' CONFIG_IP_NF_TARGET_TTL $CONFIG_IP_NF_IPTABLES
@@ -165,7 +165,7 @@
 +module_exit(fini);
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -109,6 +109,7 @@ obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) +=
+@@ -110,6 +110,7 @@ obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) +=
  obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
  obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o

+ 1 - 1
target/linux/generic-2.4/patches/606-netfilter_NETMAP.patch

@@ -145,7 +145,7 @@
 +module_exit(fini);
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -107,6 +107,7 @@ obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_D
+@@ -108,6 +108,7 @@ obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_D
  obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o
  obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
  obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o

+ 3 - 3
target/linux/generic-2.4/patches/607-netfilter_connmark.patch

@@ -81,9 +81,9 @@
    fi
    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
      dep_tristate '  Unclean match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_UNCLEAN $CONFIG_IP_NF_IPTABLES
-@@ -125,6 +129,9 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; 
-  
+@@ -126,6 +130,9 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; 
      dep_tristate '    MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
+     dep_tristate '    CLASSIFY target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_CLASSIFY $CONFIG_IP_NF_MANGLE
    fi
 +  if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
 +    dep_tristate '  CONNMARK target support' CONFIG_IP_NF_TARGET_CONNMARK $CONFIG_IP_NF_IPTABLES
@@ -101,7 +101,7 @@
  obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o
  obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
  obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.o
-@@ -110,6 +111,7 @@ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += i
+@@ -111,6 +112,7 @@ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += i
  obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
  obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o

+ 2 - 2
target/linux/generic-2.4/patches/608-netfilter_ipset.patch

@@ -1,8 +1,8 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -3220,6 +3220,75 @@ CONFIG_IP_NF_TARGET_LOG
+@@ -3231,6 +3231,75 @@ CONFIG_IP_NF_TARGET_CLASSIFY
    If you want to compile it as a module, say M here and read
-   <file:Documentation/modules.txt>.  If unsure, say `N'.
+   Documentation/modules.txt.  If unsure, say `N'.
  
 +IP set support
 +CONFIG_IP_NF_SET

+ 1 - 1
target/linux/generic-2.4/patches/610-netfilter_connbytes.patch

@@ -100,7 +100,7 @@
  	if (test_bit(IPS_ASSURED_BIT, &conntrack->status))
  		len += sprintf(buffer + len, "[ASSURED] ");
  	len += sprintf(buffer + len, "use=%u ",
-@@ -478,7 +494,7 @@ EXPORT_SYMBOL(ip_conntrack_get);
+@@ -481,7 +497,7 @@ EXPORT_SYMBOL(ip_conntrack_get);
  EXPORT_SYMBOL(ip_conntrack_helper_register);
  EXPORT_SYMBOL(ip_conntrack_helper_unregister);
  EXPORT_SYMBOL(ip_ct_iterate_cleanup);

+ 1 - 1
target/linux/generic-2.4/patches/611-netfilter_condition.patch

@@ -15,7 +15,7 @@
  conntrack match support
  CONFIG_IP_NF_MATCH_CONNTRACK
    This is a general conntrack match module, a superset of the state match.
-@@ -3354,6 +3362,14 @@ CONFIG_IP6_NF_MATCH_MARK
+@@ -3365,6 +3373,14 @@ CONFIG_IP6_NF_MATCH_MARK
    If you want to compile it as a module, say M here and read
    <file:Documentation/modules.txt>.  If unsure, say `N'.
  

+ 3 - 3
target/linux/generic-2.4/patches/616-netfilter_imq.patch

@@ -23,7 +23,7 @@
  MARK target support
  CONFIG_IP_NF_TARGET_MARK
    This option adds a `MARK' target, which allows you to create rules
-@@ -9919,6 +9935,20 @@ CONFIG_BONDING
+@@ -9931,6 +9947,20 @@ CONFIG_BONDING
    say M here and read <file:Documentation/modules.txt>.  The module
    will be called bonding.o.
  
@@ -510,12 +510,12 @@
   
      dep_tristate '    MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
 +    dep_tristate '    IMQ target support' CONFIG_IP_NF_TARGET_IMQ $CONFIG_IP_NF_MANGLE
+     dep_tristate '    CLASSIFY target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_CLASSIFY $CONFIG_IP_NF_MANGLE
    fi
    if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
-     dep_tristate '  CONNMARK target support' CONFIG_IP_NF_TARGET_CONNMARK $CONFIG_IP_NF_IPTABLES
 --- a/net/ipv4/netfilter/Makefile
 +++ b/net/ipv4/netfilter/Makefile
-@@ -138,6 +138,7 @@ obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TO
+@@ -139,6 +139,7 @@ obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TO
  obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
  obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
  obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o

+ 0 - 116
target/linux/generic-2.4/patches/619-netfilter_classify.patch

@@ -1,116 +0,0 @@
---- /dev/null
-+++ b/include/linux/netfilter_ipv4/ipt_CLASSIFY.h
-@@ -0,0 +1,8 @@
-+#ifndef _IPT_CLASSIFY_H
-+#define _IPT_CLASSIFY_H
-+
-+struct ipt_classify_target_info {
-+	u_int32_t priority;
-+};
-+
-+#endif /*_IPT_CLASSIFY_H */
---- a/net/ipv4/netfilter/Config.in
-+++ b/net/ipv4/netfilter/Config.in
-@@ -171,6 +171,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; 
-     dep_tristate '    DSCP target support' CONFIG_IP_NF_TARGET_DSCP $CONFIG_IP_NF_MANGLE
-  
-     dep_tristate '    MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
-+    dep_tristate '    CLASSIFY target support (EXPERIMENTAL)' CONFIG_IP_NF_TARGET_CLASSIFY $CONFIG_IP_NF_MANGLE
-     dep_tristate '    IMQ target support' CONFIG_IP_NF_TARGET_IMQ $CONFIG_IP_NF_MANGLE
-   fi
-   if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
---- /dev/null
-+++ b/net/ipv4/netfilter/ipt_CLASSIFY.c
-@@ -0,0 +1,82 @@
-+/*
-+ * This is a module which is used for setting the skb->priority field
-+ * of an skb for qdisc classification.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/skbuff.h>
-+#include <linux/ip.h>
-+#include <net/checksum.h>
-+
-+#include <linux/netfilter_ipv4/ip_tables.h>
-+#include <linux/netfilter_ipv4/ipt_CLASSIFY.h>
-+
-+MODULE_AUTHOR("Patrick McHardy <[email protected]>");
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("iptables qdisc classification target module");
-+
-+static unsigned int
-+target(struct sk_buff **pskb,
-+       unsigned int hooknum,
-+       const struct net_device *in,
-+       const struct net_device *out,
-+       const void *targinfo,
-+       void *userinfo)
-+{
-+	const struct ipt_classify_target_info *clinfo = targinfo;
-+
-+	if((*pskb)->priority != clinfo->priority) {
-+		(*pskb)->priority = clinfo->priority;
-+		(*pskb)->nfcache |= NFC_ALTERED;
-+	}
-+
-+	return IPT_CONTINUE;
-+}
-+
-+static int
-+checkentry(const char *tablename,
-+           const struct ipt_entry *e,
-+           void *targinfo,
-+           unsigned int targinfosize,
-+           unsigned int hook_mask)
-+{
-+	if (targinfosize != IPT_ALIGN(sizeof(struct ipt_classify_target_info))){
-+		printk(KERN_ERR "CLASSIFY: invalid size (%u != %u).\n",
-+		       targinfosize,
-+		       IPT_ALIGN(sizeof(struct ipt_classify_target_info)));
-+		return 0;
-+	}
-+	
-+	if (hook_mask & ~(1 << NF_IP_POST_ROUTING)) {
-+		printk(KERN_ERR "CLASSIFY: only valid in POST_ROUTING.\n");
-+		return 0;
-+	}
-+
-+	if (strcmp(tablename, "mangle") != 0) {
-+		printk(KERN_WARNING "CLASSIFY: can only be called from "
-+		                    "\"mangle\" table, not \"%s\".\n",
-+		                    tablename);
-+		return 0;
-+	}
-+
-+	return 1;
-+}
-+
-+static struct ipt_target ipt_classify_reg
-+= { { NULL, NULL }, "CLASSIFY", target, checkentry, NULL, THIS_MODULE };
-+
-+static int __init init(void)
-+{
-+	if (ipt_register_target(&ipt_classify_reg))
-+		return -EINVAL;
-+
-+	return 0;
-+}
-+
-+static void __exit fini(void)
-+{
-+	ipt_unregister_target(&ipt_classify_reg);
-+}
-+
-+module_init(init);
-+module_exit(fini);
---- a/net/ipv4/netfilter/Makefile
-+++ b/net/ipv4/netfilter/Makefile
-@@ -133,6 +133,7 @@ obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_
- 
- # targets
- obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
-+obj-$(CONFIG_IP_NF_TARGET_CLASSIFY) += ipt_CLASSIFY.o
- obj-$(CONFIG_IP_NF_TARGET_MIRROR) += ipt_MIRROR.o
- obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
- obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o

+ 1 - 1
target/linux/generic-2.4/patches/621-netfilter_random.patch

@@ -24,7 +24,7 @@
  TCPMSS match support
  CONFIG_IP_NF_MATCH_TCPMSS
    This option adds a `tcpmss' match, which allows you to examine the
-@@ -3376,6 +3386,14 @@ CONFIG_IP6_NF_MATCH_MAC
+@@ -3387,6 +3397,14 @@ CONFIG_IP6_NF_MATCH_MAC
    If you want to compile it as a module, say M here and read
    <file:Documentation/modules.txt>.  If unsure, say `N'.
  

+ 1 - 1
target/linux/generic-2.4/patches/622-tc_esfq.patch

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 +++ b/Documentation/Configure.help
-@@ -11153,6 +11153,24 @@ CONFIG_NET_SCH_HFSC
+@@ -11165,6 +11165,24 @@ CONFIG_NET_SCH_HFSC
    whenever you want).  If you want to compile it as a module, say M
    here and read <file:Documentation/modules.txt>.
  

+ 0 - 63
target/linux/generic-2.4/patches/803-mii_ioctl.patch

@@ -1,63 +0,0 @@
---- a/include/linux/mii.h
-+++ b/include/linux/mii.h
-@@ -9,7 +9,6 @@
- #define __LINUX_MII_H__
- 
- #include <linux/types.h>
--#include <linux/if.h>
- 
- /* Generic MII registers. */
- 
-@@ -104,6 +103,19 @@
- #define NWAYTEST_LOOPBACK       0x0100  /* Enable loopback for N-way   */
- #define NWAYTEST_RESV2          0xfe00  /* Unused...                   */
- 
-+/* This structure is used in all SIOCxMIIxxx ioctl calls */
-+struct mii_ioctl_data {
-+	__u16           phy_id;
-+	__u16           reg_num;
-+	__u16           val_in;
-+	__u16           val_out;
-+};
-+
-+#ifdef __KERNEL__
-+
-+#include <linux/if.h>
-+
-+struct ethtool_cmd;
- 
- struct mii_if_info {
- 	int phy_id;
-@@ -119,9 +131,6 @@ struct mii_if_info {
- 	void (*mdio_write) (struct net_device *dev, int phy_id, int location, int val);
- };
- 
--struct ethtool_cmd;
--struct mii_ioctl_data;
--
- extern int mii_link_ok (struct mii_if_info *mii);
- extern int mii_nway_restart (struct mii_if_info *mii);
- extern int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd);
-@@ -136,15 +145,6 @@ extern int generic_mii_ioctl(struct mii_
- 
- 
- 
--/* This structure is used in all SIOCxMIIxxx ioctl calls */
--struct mii_ioctl_data {
--	u16		phy_id;
--	u16		reg_num;
--	u16		val_in;
--	u16		val_out;
--};
--
--
- static inline struct mii_ioctl_data *if_mii(struct ifreq *rq)
- {
- 	return (struct mii_ioctl_data *) &rq->ifr_ifru;
-@@ -202,5 +202,5 @@ static inline unsigned int mii_duplex (u
- 	return 0;
- }
- 
--
-+#endif /* __KERNEL__ */
- #endif /* __LINUX_MII_H__ */

+ 0 - 26
target/linux/generic-2.4/patches/900-CVE-2008-2136.patch

@@ -1,26 +0,0 @@
-Backport of:
-
-From: David S. Miller <[email protected]>
-Date: Fri, 9 May 2008 06:40:26 +0000 (-0700)
-Subject: sit: Add missing kfree_skb() on pskb_may_pull() failure.
-X-Git-Tag: v2.6.26-rc2~19^2
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=36ca34cc3b8335eb1fe8bd9a1d0a2592980c3f02
-
-sit: Add missing kfree_skb() on pskb_may_pull() failure.
-
-Noticed by Paul Marks <[email protected]>.
-
-Signed-off-by: David S. Miller <[email protected]>
---- a/net/ipv6/sit.c
-+++ b/net/ipv6/sit.c
-@@ -410,9 +410,9 @@ int ipip6_rcv(struct sk_buff *skb)
- 	}
- 
- 	icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PROT_UNREACH, 0);
--	kfree_skb(skb);
- 	read_unlock(&ipip6_lock);
- out:
-+	kfree_skb(skb);
- 	return 0;
- }
-