Kaynağa Gözat

update to 2.4.37, tested on wrt54gs (#4766)

SVN-Revision: 16144
Florian Fainelli 16 yıl önce
ebeveyn
işleme
cec852c087
36 değiştirilmiş dosya ile 178 ekleme ve 507 silme
  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
 # Use the default kernel version if the Makefile doesn't override it
 
 
 ifeq ($(KERNEL),2.4)
 ifeq ($(KERNEL),2.4)
-  LINUX_VERSION?=2.4.35.4
+  LINUX_VERSION?=2.4.37
 else
 else
   LINUX_VERSION?=2.6.21.7
   LINUX_VERSION?=2.6.21.7
 endif
 endif
 LINUX_RELEASE?=1
 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
 endif
 ifeq ($(LINUX_VERSION),2.6.21.7)
 ifeq ($(LINUX_VERSION),2.6.21.7)
   LINUX_KERNEL_MD5SUM:=bc15fad1487336d5dcb0945cd039d8ed
   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" ]
 @@ -208,6 +208,14 @@ if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]
     fi
     fi
     define_bool CONFIG_MIPS_RTC y
     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
  dep_bool '  Console output to GDB' CONFIG_GDB_CONSOLE $CONFIG_KGDB
  if [ "$CONFIG_KGDB" = "y" ]; then
  if [ "$CONFIG_KGDB" = "y" ]; then
     define_bool CONFIG_DEBUG_INFO y
     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)
 @@ -162,7 +162,7 @@ static inline int __cpu_has_fpu(void)
  
  
  static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
  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:
  	case PRID_COMP_SIBYTE:
  		cpu_probe_sibyte(c);
  		cpu_probe_sibyte(c);
  		break;
  		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 @@
 @@ -28,12 +28,20 @@
  #include <asm/mipsregs.h>
  #include <asm/mipsregs.h>
  #include <asm/stackframe.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. */
  		/* The following two symbols are used for kernel profiling. */
  		EXPORT(stext)
  		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[] = {
 @@ -78,9 +78,10 @@ static const char *cpu_name[] = {
  	[CPU_AU1550]	"Au1550",
  	[CPU_AU1550]	"Au1550",
  	[CPU_24K]	"MIPS 24K",
  	[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)
  static int show_cpuinfo(struct seq_file *m, void *v)
  {
  {
  	unsigned int version = current_cpu_data.processor_id;
  	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)
 @@ -493,6 +493,7 @@ void __init setup_arch(char **cmdline_p)
  	void swarm_setup(void);
  	void swarm_setup(void);
  	void hp_setup(void);
  	void hp_setup(void);
@@ -244,10 +234,8 @@ Index: linux-2.4.35.4/arch/mips/kernel/setup.c
  	default:
  	default:
  		panic("Unsupported architecture");
  		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)
 @@ -920,6 +920,7 @@ void __init per_cpu_trap_init(void)
  void __init 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)
  	if (cpu_has_fpu && !cpu_has_nofpuex)
  		set_except_vector(15, handle_fpe);
  		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
 @@ -726,6 +726,19 @@ LOADADDR      += 0x80020000
  endif
  endif
  
  
@@ -309,10 +295,8 @@ Index: linux-2.4.35.4/arch/mips/Makefile
  
  
  archmrproper:
  archmrproper:
  	@$(MAKEBOOT) mrproper
  	@$(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)
 @@ -1118,3 +1118,47 @@ void __init ld_mmu_r4xx0(void)
  	build_clear_page();
  	build_clear_page();
  	build_copy_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
 @@ -13,7 +13,9 @@ obj-$(CONFIG_MIPS_GT64120)	+= ops-gt6412
  obj-$(CONFIG_MIPS_MSC)		+= ops-msc.o
  obj-$(CONFIG_MIPS_MSC)		+= ops-msc.o
  obj-$(CONFIG_MIPS_NILE4)	+= ops-nile4.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
  obj-$(CONFIG_PCI_AUTO)		+= pci_auto.o
  
  
  include $(TOPDIR)/Rules.make
  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
 @@ -444,6 +444,10 @@ static _INLINE_ unsigned int serial_in(s
  		return inb(info->port+1);
  		return inb(info->port+1);
  #endif
  #endif
@@ -447,10 +427,8 @@ Index: linux-2.4.35.4/drivers/char/serial.c
  	cval = cflag & (CSIZE | CSTOPB);
  	cval = cflag & (CSIZE | CSTOPB);
  #if defined(__powerpc__) || defined(__alpha__)
  #if defined(__powerpc__) || defined(__alpha__)
  	cval >>= 8;
  	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 @@
 @@ -3,6 +3,8 @@
  # Makefile for the Linux network (ethercard) device drivers.
  # Makefile for the Linux network (ethercard) device drivers.
  #
  #
@@ -460,10 +438,8 @@ Index: linux-2.4.35.4/drivers/net/Makefile
  obj-y           :=
  obj-y           :=
  obj-m           :=
  obj-m           :=
  obj-n           :=
  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'
 @@ -11,6 +11,7 @@ comment 'Parallel port support'
  tristate 'Parallel port support' CONFIG_PARPORT
  tristate 'Parallel port support' CONFIG_PARPORT
  if [ "$CONFIG_PARPORT" != "n" ]; then
  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_PARPORT_PC" != "n" -a "$CONFIG_SERIAL" != "n" ]; then
        if [ "$CONFIG_SERIAL" = "m" ]; then
        if [ "$CONFIG_SERIAL" = "m" ]; then
           define_tristate CONFIG_PARPORT_PC_CML1 m
           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
 @@ -22,6 +22,7 @@ endif
  
  
  obj-$(CONFIG_PARPORT)		+= parport.o
  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_PC_PCMCIA)	+= parport_cs.o
  obj-$(CONFIG_PARPORT_AMIGA)	+= parport_amiga.o
  obj-$(CONFIG_PARPORT_AMIGA)	+= parport_amiga.o
  obj-$(CONFIG_PARPORT_MFC3)	+= parport_mfc3.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 @@
 @@ -37,6 +37,7 @@
  #define MACH_GROUP_HP_LJ       20 /* Hewlett Packard LaserJet               */
  #define MACH_GROUP_HP_LJ       20 /* Hewlett Packard LaserJet               */
  #define MACH_GROUP_LASAT       21
  #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
   * Valid machtype for group TITAN
   */
   */
  #define	MACH_TITAN_YOSEMITE	1 	/* PMC-Sierra Yosemite */
  #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 @@
 @@ -22,6 +22,11 @@
     spec.
     spec.
  */
  */
@@ -564,10 +534,8 @@ Index: linux-2.4.35.4/include/asm-mips/cpu.h
  
  
  /*
  /*
   * ISA Level encodings
   * 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_
 @@ -567,4 +567,17 @@ static inline void blast_scache128_page_
  			cache128_unroll32(addr|ws,Index_Writeback_Inv_SD);
  			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 */
  #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 @@
 @@ -223,6 +223,13 @@
  #define TXX927_SERIAL_PORT_DEFNS
  #define TXX927_SERIAL_PORT_DEFNS
  #endif
  #endif
@@ -612,11 +578,9 @@ Index: linux-2.4.35.4/include/asm-mips/serial.h
  	COBALT_SERIAL_PORT_DEFNS		\
  	COBALT_SERIAL_PORT_DEFNS		\
  	DDB5477_SERIAL_PORT_DEFNS		\
  	DDB5477_SERIAL_PORT_DEFNS		\
  	EV96100_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 },
  	{ "ftlb", 0x2c08 },
  	{ "ftlc", 0x2c10 },
  	{ "ftlc", 0x2c10 },
  	{ "ftld", 0x2c18 },
  	{ "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)
 @@ -100,6 +100,10 @@ END(except_vec1_generic)
  		 * and R4400 SC and MC versions.
  		 * 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
  #if R5432_CP0_INTERRUPT_WAR
  		mfc0	k0, CP0_INDEX
  		mfc0	k0, CP0_INDEX
  #endif
  #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 @@
 @@ -14,6 +14,12 @@
  #include <linux/mm.h>
  #include <linux/mm.h>
  #include <linux/bitops.h>
  #include <linux/bitops.h>
@@ -244,10 +240,8 @@ Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
  	probe_pcache();
  	probe_pcache();
  	setup_scache();
  	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 @@
 @@ -90,6 +90,9 @@
  	.set	noat
  	.set	noat
  	LEAF(except_vec0_r4000)
  	LEAF(except_vec0_r4000)
@@ -258,10 +252,8 @@ Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
  #ifdef CONFIG_SMP
  #ifdef CONFIG_SMP
  	mfc0	k1, CP0_CONTEXT
  	mfc0	k1, CP0_CONTEXT
  	la	k0, pgd_current
  	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 @@
 @@ -15,6 +15,18 @@
  #include <asm/asm.h>
  #include <asm/asm.h>
  #include <asm/cacheops.h>
  #include <asm/cacheops.h>
@@ -464,10 +456,8 @@ Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
  	do {
  	do {
  		cache64_unroll32(start,Hit_Invalidate_I);
  		cache64_unroll32(start,Hit_Invalidate_I);
  		start += 0x800;
  		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 @@
 @@ -209,6 +209,20 @@
  
  
  #endif
  #endif
@@ -489,10 +479,8 @@ Index: linux-2.4.35.4/include/asm-mips/stackframe.h
  #define RESTORE_SP                                       \
  #define RESTORE_SP                                       \
  		lw	sp,  PT_R29(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
 @@ -927,6 +927,7 @@ static inline void break_cow(struct vm_a
  	flush_page_to_ram(new_page);
  	flush_page_to_ram(new_page);
  	flush_cache_page(vma, address);
  	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 @@
 @@ -5,6 +5,7 @@
  mainmenu_option next_comment
  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
  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
  if [ "$CONFIG_MTD_PMC551" = "y" -o  "$CONFIG_MTD_PMC551" = "m" ]; then
     bool '    PMC551 256M DRAM Bugfix' CONFIG_MTD_PMC551_BUGFIX
     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 @@
 @@ -3,6 +3,8 @@
  #
  #
  # $Id: Makefile,v 1.4 2001/06/26 21:10:05 spse Exp $
  # $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_DOC1000)	+= doc1000.o
  obj-$(CONFIG_MTD_DOC2000)	+= doc2000.o
  obj-$(CONFIG_MTD_DOC2000)	+= doc2000.o
  obj-$(CONFIG_MTD_DOC2001)	+= doc2001.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
 @@ -48,6 +48,7 @@ if [ "$CONFIG_PPC" = "y" ]; then
  fi
  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 '  Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000
     dep_tristate '  Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
     dep_tristate '  Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
     dep_tristate '  Pb1100 MTD support' CONFIG_MTD_PB1100 $CONFIG_MIPS_PB1100
     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 @@
 @@ -3,6 +3,8 @@
  #
  #
  # $Id: Makefile,v 1.37 2003/01/24 14:26:38 dwmw2 Exp $
  # $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
 @@ -259,6 +259,9 @@ static int hci_usb_isoc_rx_submit(struct
  	void *buf;
  	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
 @@ -31,12 +31,14 @@ static int std_ide_default_irq(ide_ioreg
  static ide_ioreg_t std_ide_default_io_base(int index)
  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 @@
 @@ -1,7 +1,9 @@
  /* b44.c: Broadcom 4400 device driver.
  /* b44.c: Broadcom 4400 device driver.
   *
   *
@@ -550,10 +548,8 @@ Index: linux-2.4.35.4/drivers/net/b44.c
  	return 0;
  	return 0;
  
  
  err_out_iounmap:
  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 @@
 @@ -229,8 +229,6 @@
  #define  SBIPSFLAG_IMASK4	0x3f000000 /* Which sbflags --> mips interrupt 4 */
  #define  SBIPSFLAG_IMASK4	0x3f000000 /* Which sbflags --> mips interrupt 4 */
  #define  SBIPSFLAG_ISHIFT4	24
  #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
  /* SW copy of device statistics, kept up to date by periodic timer
   * which probes HW values.  Must have same relative layout as HW
   * 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_TIGON3_5901_2	0x170e
  #define PCI_DEVICE_ID_BCM4401		0x4401
  #define PCI_DEVICE_ID_BCM4401		0x4401
  #define PCI_DEVICE_ID_BCM4401B0		0x4402
  #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_
 @@ -543,6 +543,9 @@ static unsigned int yenta_probe_irq(pci_
  	 * Probe for usable interrupts using the force
  	 * Probe for usable interrupts using the force
  	 * register to generate bogus card status events.
  	 * 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 @@
 @@ -122,6 +122,7 @@
  #define  RXCONFIG_FLOW		0x00000020 /* Flow Control Enable */
  #define  RXCONFIG_FLOW		0x00000020 /* Flow Control Enable */
  #define  RXCONFIG_FLOW_ACCEPT	0x00000040 /* Accept Unicast Flow Control Frame */
  #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_RXMAXLEN	0x0404UL /* EMAC RX Max Packet Length */
  #define B44_TXMAXLEN	0x0408UL /* EMAC TX Max Packet Length */
  #define B44_TXMAXLEN	0x0408UL /* EMAC TX Max Packet Length */
  #define B44_MDIO_CTRL	0x0410UL /* EMAC MDIO Control */
  #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
 @@ -1299,6 +1299,7 @@ static int b44_set_mac_addr(struct net_d
  {
  {
  	struct b44 *bp = dev->priv;
  	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
 @@ -84,6 +84,11 @@ int qdisc_restart(struct net_device *dev
  	struct sk_buff *skb;
  	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 @@
 @@ -3,6 +3,8 @@
   *
   *
   * Copyright (C) 1999-2002	Andre Hedrick <[email protected]>
   * 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
 @@ -253,23 +253,23 @@ static int pdc202xx_tune_chipset (ide_dr
  	pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
  	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 @@
 @@ -0,0 +1,1446 @@
 +/*
 +/*
 + * Sierra Wireless CDMA Wireless Serial USB drive
 + * 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_init(sierra_init);
 +module_exit(sierra_exit);
 +module_exit(sierra_exit);
 +MODULE_LICENSE("GPL");
 +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 @@
 @@ -0,0 +1,32 @@
 +/*
 +/*
 + * Sierra Wireless CDMA Wireless Serial USB drive
 + * 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 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 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
     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 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
     dep_tristate '  USB ZyXEL omni.net LCD Plus Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_OMNINET $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
  fi
  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_IR)			+= ir-usb.o
  obj-$(CONFIG_USB_SERIAL_KLSI)			+= kl5kusb105.o
  obj-$(CONFIG_USB_SERIAL_KLSI)			+= kl5kusb105.o
  obj-$(CONFIG_USB_SERIAL_KOBIL_SCT)		+= kobil_sct.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);
 +module_exit(au1550spi_exit);
 --- a/drivers/char/Config.in
 --- a/drivers/char/Config.in
 +++ b/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
  if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then
     bool 'Tadpole ANA H8 Support (OBSOLETE)'  CONFIG_H8
     bool 'Tadpole ANA H8 Support (OBSOLETE)'  CONFIG_H8
  fi
  fi
@@ -12335,7 +12335,7 @@
  fi
  fi
  if [ "$CONFIG_TOSHIBA_RBTX4927" = "y" -o "$CONFIG_TOSHIBA_JMR3927" = "y" ]; then
  if [ "$CONFIG_TOSHIBA_RBTX4927" = "y" -o "$CONFIG_TOSHIBA_JMR3927" = "y" ]; then
     tristate 'Dallas DS1742 RTC support' CONFIG_DS1742
     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
        source drivers/char/drm/Config.in
     fi
     fi
  fi
  fi
@@ -12347,7 +12347,7 @@
  endmenu
  endmenu
  
  
  if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then
  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
  if [ "$CONFIG_SOC_AU1X00" = "y" ]; then
     tristate ' Alchemy Au1x00 GPIO device support' CONFIG_AU1X00_GPIO
     tristate ' Alchemy Au1x00 GPIO device support' CONFIG_AU1X00_GPIO
     tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1X00_ADS7846
     tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1X00_ADS7846
@@ -14366,7 +14366,7 @@
  obj-$(CONFIG_DS1620) += ds1620.o
  obj-$(CONFIG_DS1620) += ds1620.o
  obj-$(CONFIG_DS1742) += ds1742.o
  obj-$(CONFIG_DS1742) += ds1742.o
  obj-$(CONFIG_INTEL_RNG) += i810_rng.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_ITE_GPIO) += ite_gpio.o
  obj-$(CONFIG_AU1X00_GPIO) += au1000_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_TTY) += au1000_usbtty.o
  obj-$(CONFIG_AU1X00_USB_RAW) += au1000_usbraw.o
  obj-$(CONFIG_AU1X00_USB_RAW) += au1000_usbraw.o
  obj-$(CONFIG_COBALT_LCD) += lcd.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
  qtronixmap.c: qtronixmap.map
  	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
  	set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
@@ -27419,7 +27419,7 @@
  #define I2C_HW_SMBUS_ALI15X3	0x01
  #define I2C_HW_SMBUS_ALI15X3	0x01
 --- a/include/linux/sched.h
 --- a/include/linux/sched.h
 +++ b/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_group_p(gid_t);
  extern int in_egroup_p(gid_t);
  extern int in_egroup_p(gid_t);
  
  
@@ -27613,7 +27613,7 @@
  	return sig;
  	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);
  printk("SIG queue (%s:%d): %d ", t->comm, t->pid, sig);
  #endif
  #endif
  
  
@@ -27625,7 +27625,7 @@
  	ret = -EINVAL;
  	ret = -EINVAL;
  	if (sig < 0 || sig > _NSIG)
  	if (sig < 0 || sig > _NSIG)
  		goto out_nolock;
  		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;
  	info.si_uid = tsk->uid;
  
  
  	/* FIXME: find out whether or not this is supposed to be c*time. */
  	/* 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;
  		void				*generic_ip;
  	} u;
  	} u;
  };
  };
-@@ -734,6 +736,7 @@ struct nameidata {
+@@ -736,6 +738,7 @@ struct nameidata {
  #include <linux/usbdev_fs_sb.h>
  #include <linux/usbdev_fs_sb.h>
  #include <linux/cramfs_fs_sb.h>
  #include <linux/cramfs_fs_sb.h>
  #include <linux/jffs2_fs_sb.h>
  #include <linux/jffs2_fs_sb.h>
@@ -2938,7 +2938,7 @@
  
  
  extern struct list_head super_blocks;
  extern struct list_head super_blocks;
  extern spinlock_t sb_lock;
  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 usbdev_sb_info   usbdevfs_sb;
  		struct jffs2_sb_info	jffs2_sb;
  		struct jffs2_sb_info	jffs2_sb;
  		struct cramfs_sb_info	cramfs_sb;
  		struct cramfs_sb_info	cramfs_sb;
@@ -3990,7 +3990,7 @@
 +#endif
 +#endif
 --- a/init/do_mounts.c
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -15,6 +15,7 @@
+@@ -16,6 +16,7 @@
  #include <linux/minix_fs.h>
  #include <linux/minix_fs.h>
  #include <linux/ext2_fs.h>
  #include <linux/ext2_fs.h>
  #include <linux/romfs_fs.h>
  #include <linux/romfs_fs.h>
@@ -3998,7 +3998,7 @@
  #include <linux/cramfs_fs.h>
  #include <linux/cramfs_fs.h>
  
  
  #define BUILD_CRAMDISK
  #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
   * 	minix
   * 	ext2
   * 	ext2
   *	romfs
   *	romfs
@@ -4006,7 +4006,7 @@
   *	cramfs
   *	cramfs
   * 	gzip
   * 	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 minix_super_block *minixsb;
  	struct ext2_super_block *ext2sb;
  	struct ext2_super_block *ext2sb;
  	struct romfs_super_block *romfsb;
  	struct romfs_super_block *romfsb;
@@ -4014,7 +4014,7 @@
  	struct cramfs_super *cramfsb;
  	struct cramfs_super *cramfsb;
  	int nblocks = -1;
  	int nblocks = -1;
  	unsigned char *buf;
  	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;
  	minixsb = (struct minix_super_block *) buf;
  	ext2sb = (struct ext2_super_block *) buf;
  	ext2sb = (struct ext2_super_block *) buf;
  	romfsb = (struct romfs_super_block *) buf;
  	romfsb = (struct romfs_super_block *) buf;
@@ -4022,7 +4022,7 @@
  	cramfsb = (struct cramfs_super *) buf;
  	cramfsb = (struct cramfs_super *) buf;
  	memset(buf, 0xe5, size);
  	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;
  		goto done;
  	}
  	}
  
  

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

@@ -1,6 +1,6 @@
 --- a/Documentation/Configure.help
 --- a/Documentation/Configure.help
 +++ b/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
    If reporting bugs, please try to have available a full dump of the
    messages at debug level 1 while the misbehaviour was occurring.
    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
 --- a/Documentation/Configure.help
 +++ b/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
    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.
    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
 --- a/Documentation/Configure.help
 +++ b/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.
    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
 --- a/Documentation/Configure.help
 +++ b/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
    ld.so (check the file <file:Documentation/Changes> for location and
    latest version).
    latest version).
  
  
@@ -13,7 +13,7 @@
  Kernel support for a.out binaries
  Kernel support for a.out binaries
  CONFIG_BINFMT_AOUT
  CONFIG_BINFMT_AOUT
    A.out (Assembler.OUTput) is a set of formats for libraries and
    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
    warrant removing support. However its removal is a good idea if you
    wish to ensure that absolutely none of your programs will use this
    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
    older executable format. If you don't know what to answer at this
@@ -100,7 +100,7 @@
  
  
 --- a/arch/i386/config.in
 --- a/arch/i386/config.in
 +++ b/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
  fi
  tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
  tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
  bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
  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
 --- a/Documentation/Configure.help
 +++ b/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.
    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
  #ifdef CONFIG_NETDEVICES
  			case IIOCNETAIF:
  			case IIOCNETAIF:
  				/* Add a network-interface */
  				/* 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 chidx;
  	int retval = -ENODEV;
  	int retval = -ENODEV;
  
  
@@ -14487,7 +14487,7 @@
  	}
  	}
  	if (!dev->channels)
  	if (!dev->channels)
  		goto out;
  		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)
  		if (drvidx < 0)
  			goto out;
  			goto out;
  		isdn_lock_drivers();
  		isdn_lock_drivers();
@@ -14497,7 +14497,7 @@
  		retval = 0;
  		retval = 0;
  		goto out;
  		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
  #endif
   out:
   out:
@@ -14508,7 +14508,7 @@
  	return retval;
  	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);
  	uint minor = MINOR(ino->i_rdev);
  
  
@@ -14537,7 +14537,7 @@
  	}
  	}
  	isdn_unlock_drivers();
  	isdn_unlock_drivers();
  	if (minor <= ISDN_MINOR_BMAX)
  	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 (minor <= ISDN_MINOR_CTRLMAX) {
  		if (dev->profd == current)
  		if (dev->profd == current)
  			dev->profd = NULL;
  			dev->profd = NULL;
@@ -14550,7 +14550,7 @@
  		goto out;
  		goto out;
  	}
  	}
  #ifdef CONFIG_ISDN_PPP
  #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
  #endif
  
  
   out:
   out:
@@ -14570,7 +14570,7 @@
  	llseek:		no_llseek,
  	llseek:		no_llseek,
  	read:		isdn_read,
  	read:		isdn_read,
  	write:		isdn_write,
  	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]) &&
  		if (USG_NONE(dev->usage[i]) &&
  		    (dev->drvmap[i] != -1)) {
  		    (dev->drvmap[i] != -1)) {
  			int d = dev->drvmap[i];
  			int d = dev->drvmap[i];
@@ -14586,7 +14586,7 @@
  			if ((dev->usage[i] & ISDN_USAGE_EXCLUSIVE) &&
  			if ((dev->usage[i] & ISDN_USAGE_EXCLUSIVE) &&
  			((pre_dev != d) || (pre_chan != dev->chanmap[i])))
  			((pre_dev != d) || (pre_chan != dev->chanmap[i])))
  				continue;
  				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);
  						restore_flags(flags);
  						return i;
  						return i;
  					} else {
  					} else {
@@ -14598,7 +14598,7 @@
  							dev->usage[i] &= ISDN_USAGE_EXCLUSIVE;
  							dev->usage[i] &= ISDN_USAGE_EXCLUSIVE;
  							dev->usage[i] |= usage;
  							dev->usage[i] |= usage;
  							isdn_info_update();
  							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))
  	if ((adding) && (d->rcverr))
  		kfree(d->rcverr);
  		kfree(d->rcverr);
@@ -14607,7 +14607,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc rcverr\n");
  		printk(KERN_WARNING "register_isdn: Could not alloc rcverr\n");
  		return -1;
  		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))
  	if ((adding) && (d->rcvcount))
  		kfree(d->rcvcount);
  		kfree(d->rcvcount);
@@ -14616,7 +14616,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc rcvcount\n");
  		printk(KERN_WARNING "register_isdn: Could not alloc rcvcount\n");
  		if (!adding) kfree(d->rcverr);
  		if (!adding) kfree(d->rcverr);
  		return -1;
  		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]);
  			skb_queue_purge(&d->rpqueue[j]);
  		kfree(d->rpqueue);
  		kfree(d->rpqueue);
  	}
  	}
@@ -14626,7 +14626,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc rpqueue\n");
  		printk(KERN_WARNING "register_isdn: Could not alloc rpqueue\n");
  		if (!adding) {
  		if (!adding) {
  			kfree(d->rcvcount);
  			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))
  	if ((adding) && (d->rcv_waitq))
  		kfree(d->rcv_waitq);
  		kfree(d->rcv_waitq);
@@ -14636,7 +14636,7 @@
  	if (!d->rcv_waitq) {
  	if (!d->rcv_waitq) {
  		printk(KERN_WARNING "register_isdn: Could not alloc rcv_waitq\n");
  		printk(KERN_WARNING "register_isdn: Could not alloc rcv_waitq\n");
  		if (!adding) {
  		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) {
  			if (dev->chanmap[k] < 0) {
  				dev->chanmap[k] = j;
  				dev->chanmap[k] = j;
  				dev->drvmap[k] = drvidx;
  				dev->drvmap[k] = drvidx;
@@ -14646,7 +14646,7 @@
  				break;
  				break;
  			}
  			}
  	restore_flags(flags);
  	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->ll_cmd = isdn_command; /* set command function */
          i_div->drv_to_name = map_drvname; 
          i_div->drv_to_name = map_drvname; 
          i_div->name_to_drv = map_namedrv; 
          i_div->name_to_drv = map_namedrv; 
@@ -14654,7 +14654,7 @@
          MOD_INC_USE_COUNT;
          MOD_INC_USE_COUNT;
          divert_if = i_div; /* remember interface */
          divert_if = i_div; /* remember interface */
          return(DIVERT_NO_ERR);
          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");
  		printk(KERN_WARNING "register_isdn: No write routine given.\n");
  		return 0;
  		return 0;
  	}
  	}
@@ -14663,7 +14663,7 @@
  		printk(KERN_WARNING "register_isdn: Could not alloc driver-struct\n");
  		printk(KERN_WARNING "register_isdn: Could not alloc driver-struct\n");
  		return 0;
  		return 0;
  	}
  	}
-@@ -2229,6 +2396,7 @@ isdn_getrev(const char *revision)
+@@ -2232,6 +2399,7 @@ isdn_getrev(const char *revision)
  	return rev;
  	return rev;
  }
  }
  
  
@@ -14671,7 +14671,7 @@
  #ifdef CONFIG_DEVFS_FS
  #ifdef CONFIG_DEVFS_FS
  
  
  static devfs_handle_t devfs_handle;
  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 */
  #endif  /* CONFIG_DEVFS_FS */
@@ -14679,7 +14679,7 @@
  
  
  /*
  /*
   * Allocate and initialize all data, register modem-devices
   * 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);
  	init_timer(&dev->timer);
  	dev->timer.function = isdn_timer_funct;
  	dev->timer.function = isdn_timer_funct;
  	init_MUTEX(&dev->sem);
  	init_MUTEX(&dev->sem);
@@ -14687,7 +14687,7 @@
  	for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
  	for (i = 0; i < ISDN_MAX_CHANNELS; i++) {
  		dev->drvmap[i] = -1;
  		dev->drvmap[i] = -1;
  		dev->chanmap[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);
  		vfree(dev);
  		return -EIO;
  		return -EIO;
  	}
  	}
@@ -14697,7 +14697,7 @@
  	if ((i = isdn_tty_modem_init()) < 0) {
  	if ((i = isdn_tty_modem_init()) < 0) {
  		printk(KERN_WARNING "isdn: Could not register tty devices\n");
  		printk(KERN_WARNING "isdn: Could not register tty devices\n");
  		if (i == -3)
  		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)
  		if (i <= -2)
  			tty_unregister_driver(&dev->mdm.tty_modem);
  			tty_unregister_driver(&dev->mdm.tty_modem);
  		vfree(dev);
  		vfree(dev);
@@ -14707,7 +14707,7 @@
  		devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
  		devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
  		return -EIO;
  		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);
  		tty_unregister_driver(&dev->mdm.cua_modem);
  		for (i = 0; i < ISDN_MAX_CHANNELS; i++)
  		for (i = 0; i < ISDN_MAX_CHANNELS; i++)
  			kfree(dev->mdm.info[i].xmit_buf - 4);
  			kfree(dev->mdm.info[i].xmit_buf - 4);
@@ -14717,7 +14717,7 @@
  		devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
  		devfs_unregister_chrdev(ISDN_MAJOR, "isdn");
  		vfree(dev);
  		vfree(dev);
  		return -EIO;
  		return -EIO;
-@@ -2394,6 +2568,9 @@ static int __init isdn_init(void)
+@@ -2397,6 +2571,9 @@ static int __init isdn_init(void)
  	printk("\n");
  	printk("\n");
  #endif
  #endif
  	isdn_info_update();
  	isdn_info_update();
@@ -14727,7 +14727,7 @@
  	return 0;
  	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)
  static void __exit isdn_exit(void)
  {
  {
@@ -14736,7 +14736,7 @@
  	int i;
  	int i;
  
  
  #ifdef CONFIG_ISDN_PPP
  #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");
  		printk(KERN_WARNING "isdn: controldevice busy, remove cancelled\n");
  		restore_flags(flags);
  		restore_flags(flags);
  	} else {
  	} else {
@@ -17070,20 +17070,19 @@
  	netif_rx(skb);
  	netif_rx(skb);
  	return;
  	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;
  	isdn_net_phone *n;
  	ulong flags;
  	ulong flags;
- 	char nr[32];
+ 	char nr[ISDN_MSNLEN];
 -	char *my_eaz;
 -	char *my_eaz;
--
 +#ifdef CONFIG_ISDN_WITH_ABC
 +#ifdef CONFIG_ISDN_WITH_ABC
 +	if(dev->net_verbose > 2)
 +	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]);
 +		printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=0x%04X\n", di, ch, idx,dev->usage[idx]);
 +#endif
 +#endif
+ 
  	/* Search name in netdev-chain */
  	/* Search name in netdev-chain */
  	save_flags(flags);
  	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;
  		eaz = setup->eazmsn;
  	if (dev->net_verbose > 1)
  	if (dev->net_verbose > 1)
  		printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", nr, si1, si2, eaz);
  		printk(KERN_INFO "isdn_net: call from %s,%d,%d -> %s\n", nr, si1, si2, eaz);
@@ -17110,7 +17109,7 @@
  	ematch = wret = swapped = 0;
  	ematch = wret = swapped = 0;
  #ifdef ISDN_DEBUG_NET_ICALL
  #ifdef ISDN_DEBUG_NET_ICALL
  	printk(KERN_DEBUG "n_fi: di=%d ch=%d idx=%d usg=%d\n", di, ch, idx,
  	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;
  				break;
  		}
  		}
  		swapped = 0;
  		swapped = 0;
@@ -17138,7 +17137,7 @@
  		/* Remember if more numbers eventually can match */
  		/* Remember if more numbers eventually can match */
  		if (matchret > wret)
  		if (matchret > wret)
  			wret = matchret;
  			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",
  		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);
  		       lp->name, lp->msn, lp->flags, lp->dialstate);
  #endif
  #endif
@@ -17261,7 +17260,7 @@
  			if (dev->usage[idx] & ISDN_USAGE_EXCLUSIVE) {
  			if (dev->usage[idx] & ISDN_USAGE_EXCLUSIVE) {
  				if ((lp->pre_channel != ch) ||
  				if ((lp->pre_channel != ch) ||
  				    (lp->pre_device != di)) {
  				    (lp->pre_device != di)) {
-@@ -2375,6 +3218,12 @@ p = dev->netdev;
+@@ -2377,6 +3221,12 @@ p = dev->netdev;
  						continue;
  						continue;
  					}
  					}
  				} 
  				} 
@@ -17274,7 +17273,7 @@
  				if (lp->flags & ISDN_NET_CALLBACK) {
  				if (lp->flags & ISDN_NET_CALLBACK) {
  					int chi;
  					int chi;
  					/*
  					/*
-@@ -2427,6 +3276,47 @@ p = dev->netdev;
+@@ -2429,6 +3279,47 @@ p = dev->netdev;
  					restore_flags(flags);
  					restore_flags(flags);
  					return 0;
  					return 0;
  				} else {
  				} else {
@@ -17322,7 +17321,7 @@
  					printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
  					printk(KERN_DEBUG "%s: call from %s -> %s accepted\n", lp->name, nr,
  					       eaz);
  					       eaz);
  					/* if this interface is dialing, it does it probably on a different
  					/* 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->l3_proto,
  							lp->pre_device,
  							lp->pre_device,
  						 	lp->pre_channel,
  						 	lp->pre_channel,
@@ -17334,7 +17333,7 @@
  							) < 0) {
  							) < 0) {
  				printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
  				printk(KERN_WARNING "isdn_net_force_dial: No channel for %s\n", lp->name);
  				restore_flags(flags);
  				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, "         ");
  		strcpy(netdev->local->name, "         ");
  	else
  	else
  		strcpy(netdev->local->name, name);
  		strcpy(netdev->local->name, name);
@@ -17346,7 +17345,7 @@
  	netdev->dev.priv = netdev->local;
  	netdev->dev.priv = netdev->local;
  	netdev->dev.init = isdn_net_init;
  	netdev->dev.init = isdn_net_init;
  	netdev->local->p_encap = ISDN_NET_ENCAP_RAWIP;
  	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);
  		((isdn_net_local *) q->priv)->slave = &(netdev->dev);
  	} else {
  	} else {
  		/* Device shall be a master */
  		/* Device shall be a master */
@@ -17360,7 +17359,7 @@
  		if (register_netdev(&netdev->dev) != 0) {
  		if (register_netdev(&netdev->dev) != 0) {
  			printk(KERN_WARNING "isdn_net: Could not register net-device\n");
  			printk(KERN_WARNING "isdn_net: Could not register net-device\n");
  			kfree(netdev->local);
  			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->hupflags = ISDN_INHUP;	/* Do hangup even on incoming calls */
  	netdev->local->onhtime = 10;	/* Default hangup-time for saving costs
  	netdev->local->onhtime = 10;	/* Default hangup-time for saving costs
  	   of those who forget configuring this */
  	   of those who forget configuring this */
@@ -17370,7 +17369,7 @@
  	netdev->local->dialmax = 1;
  	netdev->local->dialmax = 1;
  	netdev->local->flags = ISDN_NET_CBHUP | ISDN_NET_DM_MANUAL;	/* Hangup before Callback, manual dial */
  	netdev->local->flags = ISDN_NET_CBHUP | ISDN_NET_DM_MANUAL;	/* Hangup before Callback, manual dial */
  	netdev->local->cbdelay = 25;	/* Wait 5 secs before Callback */
  	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 */
  			/* If binding is exclusive, try to grab the channel */
  			save_flags(flags);
  			save_flags(flags);
@@ -17378,7 +17377,7 @@
  			if ((i = isdn_get_free_channel(ISDN_USAGE_NET,
  			if ((i = isdn_get_free_channel(ISDN_USAGE_NET,
  				lp->l2_proto, lp->l3_proto, drvidx,
  				lp->l2_proto, lp->l3_proto, drvidx,
  				chidx, lp->msn)) < 0) {
  				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_device = drvidx;
  		lp->pre_channel = chidx;
  		lp->pre_channel = chidx;
  		lp->onhtime = cfg->onhtime;
  		lp->onhtime = cfg->onhtime;
@@ -17388,7 +17387,7 @@
  		lp->charge = cfg->charge;
  		lp->charge = cfg->charge;
  		lp->l2_proto = cfg->l2_proto;
  		lp->l2_proto = cfg->l2_proto;
  		lp->l3_proto = cfg->l3_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;
  		lp->p_encap = cfg->p_encap;
@@ -17398,8 +17397,8 @@
  		return 0;
  		return 0;
  	}
  	}
  	return -ENODEV;
  	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];
  		n->next = p->local->phone[phone->outgoing & 1];
  		p->local->phone[phone->outgoing & 1] = n;
  		p->local->phone[phone->outgoing & 1] = n;
 +#ifdef CONFIG_ISDN_WITH_ABC
 +#ifdef CONFIG_ISDN_WITH_ABC
@@ -17408,7 +17407,7 @@
  		return 0;
  		return 0;
  	}
  	}
  	return -ENODEV;
  	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
  				else
  					p->local->phone[inout] = n->next;
  					p->local->phone[inout] = n->next;
  				kfree(n);
  				kfree(n);
@@ -17418,7 +17417,7 @@
  				restore_flags(flags);
  				restore_flags(flags);
  				return 0;
  				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->phone[i] = NULL;
  	}
  	}
  	p->local->dial = NULL;
  	p->local->dial = NULL;
@@ -17428,7 +17427,7 @@
  	restore_flags(flags);
  	restore_flags(flags);
  	return 0;
  	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 no more net-devices remain, disable auto-hangup timer */
  	if (dev->netdev == NULL)
  	if (dev->netdev == NULL)
  		isdn_timer_ctrl(ISDN_TIMER_NETHANGUP, 0);
  		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
 --- a/Documentation/Configure.help
 +++ b/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.
    If unsure, say N.
  
  

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

@@ -1,8 +1,8 @@
 --- a/Documentation/Configure.help
 --- a/Documentation/Configure.help
 +++ b/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
    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
 +TTL target support
 +CONFIG_IP_NF_TARGET_TTL
 +CONFIG_IP_NF_TARGET_TTL
@@ -42,8 +42,8 @@
 +#endif
 +#endif
 --- a/net/ipv4/netfilter/Config.in
 --- a/net/ipv4/netfilter/Config.in
 +++ b/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
    fi
    dep_tristate '  LOG target support' CONFIG_IP_NF_TARGET_LOG $CONFIG_IP_NF_IPTABLES
    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
 +  dep_tristate '  TTL target support' CONFIG_IP_NF_TARGET_TTL $CONFIG_IP_NF_IPTABLES
@@ -165,7 +165,7 @@
 +module_exit(fini);
 +module_exit(fini);
 --- a/net/ipv4/netfilter/Makefile
 --- a/net/ipv4/netfilter/Makefile
 +++ b/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_TARGET_REDIRECT) += ipt_REDIRECT.o
  obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
  obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.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);
 +module_exit(fini);
 --- a/net/ipv4/netfilter/Makefile
 --- a/net/ipv4/netfilter/Makefile
 +++ b/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_MARK) += ipt_MARK.o
  obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
  obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
  obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.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
    fi
    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
    if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
      dep_tristate '  Unclean match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_UNCLEAN $CONFIG_IP_NF_IPTABLES
      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 '    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
    fi
 +  if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
 +  if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
 +    dep_tristate '  CONNMARK target support' CONFIG_IP_NF_TARGET_CONNMARK $CONFIG_IP_NF_IPTABLES
 +    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_CONNTRACK) += ipt_conntrack.o
  obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
  obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
  obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.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_TARGET_NETMAP) += ipt_NETMAP.o
  obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
  obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.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
 --- a/Documentation/Configure.help
 +++ b/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
    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
 +IP set support
 +CONFIG_IP_NF_SET
 +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))
  	if (test_bit(IPS_ASSURED_BIT, &conntrack->status))
  		len += sprintf(buffer + len, "[ASSURED] ");
  		len += sprintf(buffer + len, "[ASSURED] ");
  	len += sprintf(buffer + len, "use=%u ",
  	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_register);
  EXPORT_SYMBOL(ip_conntrack_helper_unregister);
  EXPORT_SYMBOL(ip_conntrack_helper_unregister);
  EXPORT_SYMBOL(ip_ct_iterate_cleanup);
  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
  conntrack match support
  CONFIG_IP_NF_MATCH_CONNTRACK
  CONFIG_IP_NF_MATCH_CONNTRACK
    This is a general conntrack match module, a superset of the state match.
    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
    If you want to compile it as a module, say M here and read
    <file:Documentation/modules.txt>.  If unsure, say `N'.
    <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
  MARK target support
  CONFIG_IP_NF_TARGET_MARK
  CONFIG_IP_NF_TARGET_MARK
    This option adds a `MARK' target, which allows you to create rules
    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
    say M here and read <file:Documentation/modules.txt>.  The module
    will be called bonding.o.
    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 '    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 '    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
    fi
    if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
    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
 --- a/net/ipv4/netfilter/Makefile
 +++ b/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_ECN) += ipt_ECN.o
  obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
  obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
  obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.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
  TCPMSS match support
  CONFIG_IP_NF_MATCH_TCPMSS
  CONFIG_IP_NF_MATCH_TCPMSS
    This option adds a `tcpmss' match, which allows you to examine the
    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
    If you want to compile it as a module, say M here and read
    <file:Documentation/modules.txt>.  If unsure, say `N'.
    <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
 --- a/Documentation/Configure.help
 +++ b/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
    whenever you want).  If you want to compile it as a module, say M
    here and read <file:Documentation/modules.txt>.
    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;
- }
-