From f0c66715de5f063152d8bca967bee53ae8a0e4a3 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 18 May 2008 20:24:51 +0000
Subject: [PATCH] [kernel] refresh generic 2.6.23 patches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11187 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../patches-2.6.23/001-squashfs.patch         |  78 +++----
 .../patches-2.6.23/002-lzma_decompress.patch  |  22 +-
 .../patches-2.6.23/003-squashfs_lzma.patch    |  16 +-
 .../004-extra_optimization.patch              |   8 +-
 .../patches-2.6.23/006-gcc4_inline_fix.patch  |   8 +-
 .../patches-2.6.23/007-samsung_flash.patch    |   8 +-
 .../009-revert_intel_flash_breakage.patch     |  22 +-
 ...0-disable_old_squashfs_compatibility.patch |  12 +-
 .../patches-2.6.23/011-mips_boot.patch        |   6 +-
 .../patches-2.6.23/012-mips_cpu_tlb.patch     |  10 +-
 .../patches-2.6.23/013-mips_gdb_stub.patch    |  22 +-
 .../patches-2.6.23/060-block2mtd_init.patch   |  20 +-
 .../patches-2.6.23/065-rootfs_split.patch     |  86 +++----
 .../patches-2.6.23/070-redboot_space.patch    |   8 +-
 .../100-netfilter_layer7_2.17.patch           |  74 +++---
 .../101-netfilter_layer7_pktmatch.patch       |  12 +-
 .../patches-2.6.23/110-ipp2p_0.8.1rc1.patch   |  28 +--
 .../120-openswan-2.4.0.kernel-2.6-natt.patch  |  26 +--
 .../patches-2.6.23/130-netfilter_ipset.patch  | 183 ++++++++-------
 .../patches-2.6.23/140-netfilter_time.patch   |  28 +--
 .../patches-2.6.23/150-netfilter_imq.patch    | 127 +++++-----
 .../patches-2.6.23/160-netfilter_route.patch  |  64 +++---
 .../170-netfilter_chaostables_0.8.patch       |  50 ++--
 .../patches-2.6.23/171-netfilter_tarpit.patch |  16 +-
 .../180-netfilter_depends.patch               |  10 +-
 .../patches-2.6.23/190-netfilter_rtsp.patch   |  62 ++---
 .../patches-2.6.23/200-sched_esfq.patch       |  34 +--
 .../201-multiple_default_gateways.patch       |  74 +++---
 .../202-mips-freestanding.patch               |   8 +-
 .../patches-2.6.23/204-jffs2_eofdetect.patch  |  18 +-
 .../207-powerpc_asm_segment_h.patch           |   6 +-
 .../patches-2.6.23/208-rtl8110sb_fix.patch    |  14 +-
 .../patches-2.6.23/209-mini_fo.patch          | 118 +++++-----
 .../210-mac80211_include_wireless_dev.patch   |  66 +++---
 .../patches-2.6.23/213-kobject_uevent.patch   |  10 +-
 .../patches-2.6.23/220-sound_kconfig.patch    |   8 +-
 .../patches-2.6.23/230-pps_support.patch      | 195 ++++++++--------
 .../300-add-mmc-spi-driver.patch              | 216 +++++++++---------
 .../patches-2.6.23/301-mmc_sdhci_fixes.patch  |  30 +--
 .../patches-2.6.23/400-ledtrig_morse.patch    |  16 +-
 .../patches-2.6.23/401-led_alix.patch         |  18 +-
 .../402-ledtrig_default_on.patch              |  18 +-
 .../patches-2.6.23/403-ledtrig_netdev.patch   |  16 +-
 .../patches-2.6.23/410-gpio_buttons.patch     |  16 +-
 .../patches-2.6.23/510-Yaffs.patch            |  16 +-
 .../patches-2.6.23/600-phy_extension.patch    |  16 +-
 .../patches-2.6.23/610-phy_detect.patch       |  16 +-
 .../patches-2.6.23/620-phy_adm6996.patch      |  16 +-
 .../patches-2.6.23/630-phy_packets.patch      |  26 +--
 .../patches-2.6.23/640-mvswitch.patch         |  24 +-
 .../700-unable_to_open_console.patch          |   8 +-
 .../801-usb_serial_endpoint_size.patch        |  12 +-
 .../900-headers_type_and_time.patch           |  16 +-
 .../902-darwin_scripts_include.patch          |  38 +--
 .../patches-2.6.23/903-stddef_include.patch   |  10 +-
 .../patches-2.6.23/904-ls_time_locale.patch   |  10 +-
 .../patches-2.6.23/905-i386_build.patch       |   6 +-
 .../910-arm_binutils_build_id_fix.patch       |   8 +-
 .../patches-2.6.23/920-gpio_dev.patch         |  24 +-
 ...0-ppc_big_endian_io_memory_accessors.patch |  12 +-
 .../patches-2.6.23/921-gpio_spi_driver.patch  |  12 +-
 .../922-w1_gpio_driver_backport.patch         |  20 +-
 .../patches-2.6.23/930-ssb_fixes.patch        |  32 +--
 63 files changed, 1134 insertions(+), 1075 deletions(-)

diff --git a/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch b/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch
index 74321331a..a5d4a0b0c 100644
--- a/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/001-squashfs.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23/fs/Kconfig
+Index: linux-2.6.23.17/fs/Kconfig
 ===================================================================
---- linux-2.6.23.orig/fs/Kconfig	2007-10-10 13:52:12.000000000 +0800
-+++ linux-2.6.23/fs/Kconfig	2007-10-10 13:52:14.000000000 +0800
-@@ -1364,6 +1364,71 @@
+--- linux-2.6.23.17.orig/fs/Kconfig
++++ linux-2.6.23.17/fs/Kconfig
+@@ -1364,6 +1364,71 @@ config CRAMFS
  
  	  If unsure, say N.
  
@@ -74,11 +74,11 @@ Index: linux-2.6.23/fs/Kconfig
  config VXFS_FS
  	tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
  	depends on BLOCK
-Index: linux-2.6.23/fs/Makefile
+Index: linux-2.6.23.17/fs/Makefile
 ===================================================================
---- linux-2.6.23.orig/fs/Makefile	2007-10-10 13:52:12.000000000 +0800
-+++ linux-2.6.23/fs/Makefile	2007-10-10 13:52:14.000000000 +0800
-@@ -72,6 +72,7 @@
+--- linux-2.6.23.17.orig/fs/Makefile
++++ linux-2.6.23.17/fs/Makefile
+@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD)		+= jbd/
  obj-$(CONFIG_JBD2)		+= jbd2/
  obj-$(CONFIG_EXT2_FS)		+= ext2/
  obj-$(CONFIG_CRAMFS)		+= cramfs/
@@ -86,10 +86,10 @@ Index: linux-2.6.23/fs/Makefile
  obj-$(CONFIG_RAMFS)		+= ramfs/
  obj-$(CONFIG_HUGETLBFS)		+= hugetlbfs/
  obj-$(CONFIG_CODA_FS)		+= coda/
-Index: linux-2.6.23/fs/squashfs/inode.c
+Index: linux-2.6.23.17/fs/squashfs/inode.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/squashfs/inode.c	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/squashfs/inode.c
 @@ -0,0 +1,2122 @@
 +/*
 + * Squashfs - a compressed read only filesystem for Linux
@@ -2213,10 +2213,10 @@ Index: linux-2.6.23/fs/squashfs/inode.c
 +MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
 +MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.23/fs/squashfs/Makefile
+Index: linux-2.6.23.17/fs/squashfs/Makefile
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/squashfs/Makefile	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/squashfs/Makefile
 @@ -0,0 +1,7 @@
 +#
 +# Makefile for the linux squashfs routines.
@@ -2225,10 +2225,10 @@ Index: linux-2.6.23/fs/squashfs/Makefile
 +obj-$(CONFIG_SQUASHFS) += squashfs.o
 +squashfs-y += inode.o
 +squashfs-y += squashfs2_0.o
-Index: linux-2.6.23/fs/squashfs/squashfs2_0.c
+Index: linux-2.6.23.17/fs/squashfs/squashfs2_0.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/squashfs/squashfs2_0.c	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/squashfs/squashfs2_0.c
 @@ -0,0 +1,758 @@
 +/*
 + * Squashfs - a compressed read only filesystem for Linux
@@ -2988,10 +2988,10 @@ Index: linux-2.6.23/fs/squashfs/squashfs2_0.c
 +
 +	return 1;
 +}
-Index: linux-2.6.23/fs/squashfs/squashfs.h
+Index: linux-2.6.23.17/fs/squashfs/squashfs.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/squashfs/squashfs.h	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/squashfs/squashfs.h
 @@ -0,0 +1,86 @@
 +/*
 + * Squashfs - a compressed read only filesystem for Linux
@@ -3079,10 +3079,10 @@ Index: linux-2.6.23/fs/squashfs/squashfs.h
 +	return 0;
 +}
 +#endif
-Index: linux-2.6.23/include/linux/magic.h
+Index: linux-2.6.23.17/include/linux/magic.h
 ===================================================================
---- linux-2.6.23.orig/include/linux/magic.h	2007-10-10 13:52:12.000000000 +0800
-+++ linux-2.6.23/include/linux/magic.h	2007-10-10 13:52:14.000000000 +0800
+--- linux-2.6.23.17.orig/include/linux/magic.h
++++ linux-2.6.23.17/include/linux/magic.h
 @@ -35,6 +35,9 @@
  #define REISER2FS_SUPER_MAGIC_STRING	"ReIsEr2Fs"
  #define REISER2FS_JR_SUPER_MAGIC_STRING	"ReIsEr3Fs"
@@ -3093,10 +3093,10 @@ Index: linux-2.6.23/include/linux/magic.h
  #define SMB_SUPER_MAGIC		0x517B
  #define USBDEVICE_SUPER_MAGIC	0x9fa2
  
-Index: linux-2.6.23/include/linux/squashfs_fs.h
+Index: linux-2.6.23.17/include/linux/squashfs_fs.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/include/linux/squashfs_fs.h	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/squashfs_fs.h
 @@ -0,0 +1,911 @@
 +#ifndef SQUASHFS_FS
 +#define SQUASHFS_FS
@@ -4009,10 +4009,10 @@ Index: linux-2.6.23/include/linux/squashfs_fs.h
 +
 +#endif
 +#endif
-Index: linux-2.6.23/include/linux/squashfs_fs_i.h
+Index: linux-2.6.23.17/include/linux/squashfs_fs_i.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/include/linux/squashfs_fs_i.h	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/squashfs_fs_i.h
 @@ -0,0 +1,45 @@
 +#ifndef SQUASHFS_FS_I
 +#define SQUASHFS_FS_I
@@ -4059,10 +4059,10 @@ Index: linux-2.6.23/include/linux/squashfs_fs_i.h
 +	struct inode	vfs_inode;
 +};
 +#endif
-Index: linux-2.6.23/include/linux/squashfs_fs_sb.h
+Index: linux-2.6.23.17/include/linux/squashfs_fs_sb.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/include/linux/squashfs_fs_sb.h	2007-10-10 13:52:14.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/squashfs_fs_sb.h
 @@ -0,0 +1,74 @@
 +#ifndef SQUASHFS_FS_SB
 +#define SQUASHFS_FS_SB
@@ -4138,10 +4138,10 @@ Index: linux-2.6.23/include/linux/squashfs_fs_sb.h
 +	int			(*read_fragment_index_table)(struct super_block *s);
 +};
 +#endif
-Index: linux-2.6.23/init/do_mounts_rd.c
+Index: linux-2.6.23.17/init/do_mounts_rd.c
 ===================================================================
---- linux-2.6.23.orig/init/do_mounts_rd.c	2007-10-10 13:52:12.000000000 +0800
-+++ linux-2.6.23/init/do_mounts_rd.c	2007-10-10 13:52:14.000000000 +0800
+--- linux-2.6.23.17.orig/init/do_mounts_rd.c
++++ linux-2.6.23.17/init/do_mounts_rd.c
 @@ -5,6 +5,7 @@
  #include <linux/ext2_fs.h>
  #include <linux/romfs_fs.h>
@@ -4150,7 +4150,7 @@ Index: linux-2.6.23/init/do_mounts_rd.c
  #include <linux/initrd.h>
  #include <linux/string.h>
  
-@@ -39,6 +40,7 @@
+@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
   * numbers could not be found.
   *
   * We currently check for the following magic numbers:
@@ -4158,7 +4158,7 @@ Index: linux-2.6.23/init/do_mounts_rd.c
   * 	minix
   * 	ext2
   *	romfs
-@@ -53,6 +55,7 @@
+@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
  	struct ext2_super_block *ext2sb;
  	struct romfs_super_block *romfsb;
  	struct cramfs_super *cramfsb;
@@ -4166,7 +4166,7 @@ Index: linux-2.6.23/init/do_mounts_rd.c
  	int nblocks = -1;
  	unsigned char *buf;
  
-@@ -64,6 +67,7 @@
+@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
  	ext2sb = (struct ext2_super_block *) buf;
  	romfsb = (struct romfs_super_block *) buf;
  	cramfsb = (struct cramfs_super *) buf;
@@ -4174,7 +4174,7 @@ Index: linux-2.6.23/init/do_mounts_rd.c
  	memset(buf, 0xe5, size);
  
  	/*
-@@ -101,6 +105,15 @@
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
  		goto done;
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch b/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch
index 3d98ffeac..a191ae205 100644
--- a/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/002-lzma_decompress.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23/include/linux/LzmaDecode.h
+Index: linux-2.6.23.17/include/linux/LzmaDecode.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/include/linux/LzmaDecode.h	2007-10-10 13:51:27.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/LzmaDecode.h
 @@ -0,0 +1,100 @@
 +/*
 +  LzmaDecode.h
@@ -103,10 +103,10 @@ Index: linux-2.6.23/include/linux/LzmaDecode.h
 +    UInt32 *outSizeProcessed);
 +
 +#endif
-Index: linux-2.6.23/lib/LzmaDecode.c
+Index: linux-2.6.23.17/lib/LzmaDecode.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/lib/LzmaDecode.c	2007-10-10 13:51:27.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/lib/LzmaDecode.c
 @@ -0,0 +1,663 @@
 +/*
 +  LzmaDecode.c
@@ -771,11 +771,11 @@ Index: linux-2.6.23/lib/LzmaDecode.c
 +  *outSizeProcessed = nowPos;
 +  return LZMA_RESULT_OK;
 +}
-Index: linux-2.6.23/lib/Makefile
+Index: linux-2.6.23.17/lib/Makefile
 ===================================================================
---- linux-2.6.23.orig/lib/Makefile	2007-10-10 13:50:24.000000000 +0800
-+++ linux-2.6.23/lib/Makefile	2007-10-10 13:51:53.000000000 +0800
-@@ -13,7 +13,7 @@
+--- linux-2.6.23.17.orig/lib/Makefile
++++ linux-2.6.23.17/lib/Makefile
+@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
  lib-y	+= kobject.o kref.o kobject_uevent.o klist.o
  
  obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
@@ -784,7 +784,7 @@ Index: linux-2.6.23/lib/Makefile
  
  ifeq ($(CONFIG_DEBUG_KOBJECT),y)
  CFLAGS_kobject.o += -DDEBUG
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o
  obj-$(CONFIG_AUDIT_GENERIC) += audit.o
  
  obj-$(CONFIG_SWIOTLB) += swiotlb.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch b/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch
index 06aa00180..cfcbcbaca 100644
--- a/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/003-squashfs_lzma.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/fs/squashfs/inode.c
+Index: linux-2.6.23.17/fs/squashfs/inode.c
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/squashfs/inode.c	2007-09-21 16:23:55.000000000 +0800
-+++ linux-2.6.23-rc6/fs/squashfs/inode.c	2007-09-21 16:23:56.000000000 +0800
+--- linux-2.6.23.17.orig/fs/squashfs/inode.c
++++ linux-2.6.23.17/fs/squashfs/inode.c
 @@ -4,6 +4,9 @@
   * Copyright (c) 2002, 2003, 2004, 2005, 2006
   * Phillip Lougher <phillip@lougher.org.uk>
@@ -40,7 +40,7 @@ Index: linux-2.6.23-rc6/fs/squashfs/inode.c
  static void squashfs_put_super(struct super_block *);
  static int squashfs_statfs(struct dentry *, struct kstatfs *);
  static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@
+@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
  			const char *, void *, struct vfsmount *);
  
  
@@ -52,7 +52,7 @@ Index: linux-2.6.23-rc6/fs/squashfs/inode.c
  
  static struct file_system_type squashfs_fs_type = {
  	.owner = THIS_MODULE,
-@@ -249,6 +270,15 @@
+@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
  	if (compressed) {
  		int zlib_err;
  
@@ -68,7 +68,7 @@ Index: linux-2.6.23-rc6/fs/squashfs/inode.c
  		stream.next_in = c_buffer;
  		stream.avail_in = c_byte;
  		stream.next_out = buffer;
-@@ -263,7 +293,7 @@
+@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
  			bytes = 0;
  		} else
  			bytes = stream.total_out;
@@ -77,7 +77,7 @@ Index: linux-2.6.23-rc6/fs/squashfs/inode.c
  		up(&msblk->read_data_mutex);
  	}
  
-@@ -2045,15 +2075,19 @@
+@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
  	printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
  		"Phillip Lougher\n");
  
@@ -97,7 +97,7 @@ Index: linux-2.6.23-rc6/fs/squashfs/inode.c
  		destroy_inodecache();
  	}
  
-@@ -2064,7 +2098,9 @@
+@@ -2064,7 +2098,9 @@ out:
  
  static void __exit exit_squashfs_fs(void)
  {
diff --git a/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch
index 09248fcda..658706417 100644
--- a/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/004-extra_optimization.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/Makefile
+Index: linux-2.6.23.17/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/Makefile	2007-09-21 16:23:55.000000000 +0800
-+++ linux-2.6.23-rc6/Makefile	2007-09-21 16:23:56.000000000 +0800
-@@ -508,6 +508,9 @@
+--- linux-2.6.23.17.orig/Makefile
++++ linux-2.6.23.17/Makefile
+@@ -508,6 +508,9 @@ CFLAGS          += $(call cc-option, -fn
  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
  CHECKFLAGS     += $(NOSTDINC_FLAGS)
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch
index 704fc752d..7ec5531ea 100644
--- a/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/006-gcc4_inline_fix.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23/include/asm-mips/system.h
+Index: linux-2.6.23.17/include/asm-mips/system.h
 ===================================================================
---- linux-2.6.23.orig/include/asm-mips/system.h	2007-10-10 04:31:38.000000000 +0800
-+++ linux-2.6.23/include/asm-mips/system.h	2007-10-10 13:52:24.000000000 +0800
-@@ -181,7 +181,7 @@
+--- linux-2.6.23.17.orig/include/asm-mips/system.h
++++ linux-2.6.23.17/include/asm-mips/system.h
+@@ -181,7 +181,7 @@ extern __u64 __xchg_u64_unsupported_on_3
     if something tries to do an invalid xchg().  */
  extern void __xchg_called_with_bad_pointer(void);
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch b/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch
index 1be698ce0..090e10ac7 100644
--- a/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/007-samsung_flash.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0002.c
+Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0002.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/chips/cfi_cmdset_0002.c	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0002.c	2007-09-21 16:23:57.000000000 +0800
+--- linux-2.6.23.17.orig/drivers/mtd/chips/cfi_cmdset_0002.c
++++ linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0002.c
 @@ -51,6 +51,7 @@
  #define SST49LF040B	        0x0050
  #define SST49LF008A		0x005a
@@ -10,7 +10,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0002.c
  
  static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
  static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -294,12 +295,19 @@
+@@ -294,12 +295,19 @@ struct mtd_info *cfi_cmdset_0002(struct 
  
  		if (extp->MajorVersion != '1' ||
  		    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
diff --git a/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch b/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch
index 9e945257b..5e701987a 100644
--- a/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/009-revert_intel_flash_breakage.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
+Index: linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/chips/cfi_cmdset_0001.c	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c	2007-09-21 16:23:57.000000000 +0800
-@@ -933,7 +933,7 @@
+--- linux-2.6.23.17.orig/drivers/mtd/chips/cfi_cmdset_0001.c
++++ linux-2.6.23.17/drivers/mtd/chips/cfi_cmdset_0001.c
+@@ -933,7 +933,7 @@ static void __xipram xip_enable(struct m
  
  static int __xipram xip_wait_for_operation(
  		struct map_info *map, struct flchip *chip,
@@ -11,7 +11,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  {
  	struct cfi_private *cfi = map->fldrv_priv;
  	struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-@@ -942,7 +942,7 @@
+@@ -942,7 +942,7 @@ static int __xipram xip_wait_for_operati
  	flstate_t oldstate, newstate;
  
         	start = xip_currtime();
@@ -20,7 +20,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  	if (usec == 0)
  		usec = 500000;
  	done = 0;
-@@ -1052,8 +1052,8 @@
+@@ -1052,8 +1052,8 @@ static int __xipram xip_wait_for_operati
  #define XIP_INVAL_CACHED_RANGE(map, from, size)  \
  	INVALIDATE_CACHED_RANGE(map, from, size)
  
@@ -31,7 +31,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  
  #else
  
-@@ -1065,65 +1065,65 @@
+@@ -1065,65 +1065,65 @@ static int __xipram xip_wait_for_operati
  static int inval_cache_and_wait_for_operation(
  		struct map_info *map, struct flchip *chip,
  		unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
@@ -132,7 +132,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  	/* Done and happy. */
   	chip->state = FL_STATUS;
  	return 0;
-@@ -1132,7 +1132,8 @@
+@@ -1132,7 +1132,8 @@ static int inval_cache_and_wait_for_oper
  #endif
  
  #define WAIT_TIMEOUT(map, chip, adr, udelay) \
@@ -142,7 +142,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  
  
  static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
-@@ -1356,7 +1357,7 @@
+@@ -1356,7 +1357,7 @@ static int __xipram do_write_oneword(str
  
  	ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
  				   adr, map_bankwidth(map),
@@ -151,7 +151,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  	if (ret) {
  		xip_enable(map, chip, adr);
  		printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
-@@ -1593,7 +1594,7 @@
+@@ -1593,7 +1594,7 @@ static int __xipram do_write_buffer(stru
  
  	ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
  				   adr, len,
@@ -160,7 +160,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/chips/cfi_cmdset_0001.c
  	if (ret) {
  		map_write(map, CMD(0x70), cmd_adr);
  		chip->state = FL_STATUS;
-@@ -1728,7 +1729,7 @@
+@@ -1728,7 +1729,7 @@ static int __xipram do_erase_oneblock(st
  
  	ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
  				   adr, len,
diff --git a/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch b/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch
index 99c5e2ec3..96155c1a7 100644
--- a/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/010-disable_old_squashfs_compatibility.patch
@@ -1,16 +1,16 @@
-Index: linux-2.6.23-rc6/fs/squashfs/Makefile
+Index: linux-2.6.23.17/fs/squashfs/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/squashfs/Makefile	2007-09-21 16:23:55.000000000 +0800
-+++ linux-2.6.23-rc6/fs/squashfs/Makefile	2007-09-21 16:23:58.000000000 +0800
+--- linux-2.6.23.17.orig/fs/squashfs/Makefile
++++ linux-2.6.23.17/fs/squashfs/Makefile
 @@ -4,4 +4,3 @@
  
  obj-$(CONFIG_SQUASHFS) += squashfs.o
  squashfs-y += inode.o
 -squashfs-y += squashfs2_0.o
-Index: linux-2.6.23-rc6/fs/squashfs/squashfs.h
+Index: linux-2.6.23.17/fs/squashfs/squashfs.h
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/squashfs/squashfs.h	2007-09-21 16:23:55.000000000 +0800
-+++ linux-2.6.23-rc6/fs/squashfs/squashfs.h	2007-09-21 16:23:58.000000000 +0800
+--- linux-2.6.23.17.orig/fs/squashfs/squashfs.h
++++ linux-2.6.23.17/fs/squashfs/squashfs.h
 @@ -24,6 +24,9 @@
  #ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
  #undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
diff --git a/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch b/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch
index 08c83d537..887f02021 100644
--- a/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/011-mips_boot.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/arch/mips/kernel/head.S
+Index: linux-2.6.23.17/arch/mips/kernel/head.S
 ===================================================================
---- linux-2.6.23-rc6.orig/arch/mips/kernel/head.S	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/arch/mips/kernel/head.S	2007-09-21 16:23:58.000000000 +0800
+--- linux-2.6.23.17.orig/arch/mips/kernel/head.S
++++ linux-2.6.23.17/arch/mips/kernel/head.S
 @@ -130,6 +130,8 @@
  #endif
  	.endm
diff --git a/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch b/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch
index eea10c1b0..4a9d5e729 100644
--- a/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/012-mips_cpu_tlb.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23/arch/mips/mm/tlbex.c
+Index: linux-2.6.23.17/arch/mips/mm/tlbex.c
 ===================================================================
---- linux-2.6.23.orig/arch/mips/mm/tlbex.c	2007-10-10 04:31:38.000000000 +0800
-+++ linux-2.6.23/arch/mips/mm/tlbex.c	2007-10-10 13:52:34.000000000 +0800
-@@ -902,7 +902,6 @@
+--- linux-2.6.23.17.orig/arch/mips/mm/tlbex.c
++++ linux-2.6.23.17/arch/mips/mm/tlbex.c
+@@ -902,7 +902,6 @@ static __init void build_tlb_write_entry
  	case CPU_R10000:
  	case CPU_R12000:
  	case CPU_R14000:
@@ -10,7 +10,7 @@ Index: linux-2.6.23/arch/mips/mm/tlbex.c
  	case CPU_SB1:
  	case CPU_SB1A:
  	case CPU_4KSC:
-@@ -933,6 +932,7 @@
+@@ -933,6 +932,7 @@ static __init void build_tlb_write_entry
  		tlbw(p);
  		break;
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch b/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch
index 000b748c3..4ce6cc120 100644
--- a/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/013-mips_gdb_stub.patch
@@ -1,20 +1,20 @@
-Index: linux-2.6.23/arch/mips/kernel/gdb-stub.c
+Index: linux-2.6.23.17/arch/mips/kernel/gdb-stub.c
 ===================================================================
---- linux-2.6.23.orig/arch/mips/kernel/gdb-stubc.c	2007-10-12 18:43:44.000000000 +0200
-+++ linux-2.6.23/arch/mips/kernel/gdb-stub.c   2007-11-16 08:35:51.000000000 +0100
-@@ -656,6 +656,7 @@
-        *epc = (unsigned long)async_breakpoint;
+--- linux-2.6.23.17.orig/arch/mips/kernel/gdb-stub.c
++++ linux-2.6.23.17/arch/mips/kernel/gdb-stub.c
+@@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long 
+ 	*epc = (unsigned long)async_breakpoint;
  }
-
+ 
 +#ifdef CONFIG_SMP
  static void kgdb_wait(void *arg)
  {
-        unsigned flags;
-@@ -668,6 +669,7 @@
-
-        local_irq_restore(flags);
+ 	unsigned flags;
+@@ -668,6 +669,7 @@ static void kgdb_wait(void *arg)
+ 
+ 	local_irq_restore(flags);
  }
 +#endif
-
+ 
  /*
   * GDB stub needs to call kgdb_wait on all processor with interrupts
diff --git a/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch b/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch
index b331f7361..72dbb9c05 100644
--- a/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/060-block2mtd_init.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
+Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/devices/block2mtd.c	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c	2007-09-21 16:23:59.000000000 +0800
+--- linux-2.6.23.17.orig/drivers/mtd/devices/block2mtd.c
++++ linux-2.6.23.17/drivers/mtd/devices/block2mtd.c
 @@ -16,6 +16,7 @@
  #include <linux/list.h>
  #include <linux/init.h>
@@ -10,7 +10,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  #include <linux/buffer_head.h>
  #include <linux/mutex.h>
  #include <linux/mount.h>
-@@ -237,10 +238,11 @@
+@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
  
  
  /* FIXME: ensure that mtd->size % erase_size == 0 */
@@ -23,7 +23,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  
  	if (!devname)
  		return NULL;
-@@ -279,14 +281,18 @@
+@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
  
  	/* Setup the MTD structure */
  	/* make the name contain the block device in */
@@ -47,7 +47,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	dev->mtd.erasesize = erase_size;
  	dev->mtd.writesize = 1;
  	dev->mtd.type = MTD_RAM;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
  	dev->mtd.read = block2mtd_read;
  	dev->mtd.priv = dev;
  	dev->mtd.owner = THIS_MODULE;
@@ -70,7 +70,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	return dev;
  
  devinit_err:
-@@ -379,9 +388,9 @@
+@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12]
  
  static int block2mtd_setup2(const char *val)
  {
@@ -82,7 +82,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	char *name;
  	size_t erase_size = PAGE_SIZE;
  	int i, ret;
-@@ -392,7 +401,7 @@
+@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
  	strcpy(str, val);
  	kill_final_newline(str);
  
@@ -91,7 +91,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  		token[i] = strsep(&str, ",");
  
  	if (str)
-@@ -412,8 +421,10 @@
+@@ -412,8 +421,10 @@ static int block2mtd_setup2(const char *
  			parse_err("illegal erase size");
  		}
  	}
@@ -103,7 +103,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  
  	return 0;
  }
-@@ -447,7 +458,7 @@
+@@ -447,7 +458,7 @@ static int block2mtd_setup(const char *v
  
  
  module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
diff --git a/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch
index 8680f1958..2fb69dd1d 100644
--- a/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/065-rootfs_split.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/drivers/mtd/Kconfig
+Index: linux-2.6.23.17/drivers/mtd/Kconfig
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/Kconfig	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/Kconfig	2007-09-21 16:23:59.000000000 +0800
-@@ -47,6 +47,16 @@
+--- linux-2.6.23.17.orig/drivers/mtd/Kconfig
++++ linux-2.6.23.17/drivers/mtd/Kconfig
+@@ -47,6 +47,16 @@ config MTD_PARTITIONS
  	  devices. Partitioning on NFTL 'devices' is a different - that's the
  	  'normal' form of partitioning used on a block device.
  
@@ -19,10 +19,10 @@ Index: linux-2.6.23-rc6/drivers/mtd/Kconfig
  config MTD_REDBOOT_PARTS
  	tristate "RedBoot partition table parsing"
  	depends on MTD_PARTITIONS
-Index: linux-2.6.23-rc6/drivers/mtd/mtdpart.c
+Index: linux-2.6.23.17/drivers/mtd/mtdpart.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/mtdpart.c	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/mtdpart.c	2007-09-21 16:23:59.000000000 +0800
+--- linux-2.6.23.17.orig/drivers/mtd/mtdpart.c
++++ linux-2.6.23.17/drivers/mtd/mtdpart.c
 @@ -20,6 +20,8 @@
  #include <linux/mtd/mtd.h>
  #include <linux/mtd/partitions.h>
@@ -32,7 +32,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdpart.c
  
  /* Our partition linked list */
  static LIST_HEAD(mtd_partitions);
-@@ -39,7 +41,7 @@
+@@ -39,7 +41,7 @@ struct mtd_part {
   * the pointer to that structure with this macro.
   */
  #define PART(x)  ((struct mtd_part *)(x))
@@ -41,7 +41,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdpart.c
  
  /*
   * MTD methods which simply translate the effective address and pass through
-@@ -308,6 +310,312 @@
+@@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info *
  	return 0;
  }
  
@@ -354,7 +354,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdpart.c
  /*
   * This function, given a master MTD object and a partition table, creates
   * and registers slave MTD objects which are bound to the master according to
-@@ -320,168 +628,31 @@
+@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info *
  		       int nbparts)
  {
  	struct mtd_part *slave;
@@ -544,7 +544,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdpart.c
  		}
  	}
  
-@@ -557,6 +728,32 @@
+@@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info
  	return ret;
  }
  
@@ -577,11 +577,11 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdpart.c
 +EXPORT_SYMBOL_GPL(refresh_mtd_partitions);
  EXPORT_SYMBOL_GPL(register_mtd_parser);
  EXPORT_SYMBOL_GPL(deregister_mtd_parser);
-Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
+Index: linux-2.6.23.17/drivers/mtd/devices/block2mtd.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/devices/block2mtd.c	2007-09-21 16:23:59.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c	2007-09-21 16:23:59.000000000 +0800
-@@ -34,6 +34,8 @@
+--- linux-2.6.23.17.orig/drivers/mtd/devices/block2mtd.c
++++ linux-2.6.23.17/drivers/mtd/devices/block2mtd.c
+@@ -34,6 +34,8 @@ struct block2mtd_dev {
  	struct block_device *blkdev;
  	struct mtd_info mtd;
  	struct mutex write_mutex;
@@ -590,7 +590,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  };
  
  
-@@ -86,6 +88,12 @@
+@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in
  	size_t len = instr->len;
  	int err;
  
@@ -603,7 +603,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	instr->state = MTD_ERASING;
  	mutex_lock(&dev->write_mutex);
  	err = _block2mtd_erase(dev, from, len);
-@@ -98,6 +106,10 @@
+@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
  
  	instr->state = MTD_ERASE_DONE;
  	mtd_erase_callback(instr);
@@ -614,7 +614,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	return err;
  }
  
-@@ -109,10 +121,14 @@
+@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf
  	struct page *page;
  	int index = from >> PAGE_SHIFT;
  	int offset = from & (PAGE_SIZE-1);
@@ -632,7 +632,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	if (from + len > mtd->size)
  		len = mtd->size - from;
  
-@@ -127,10 +143,14 @@
+@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf
  		len = len - cpylen;
  
  		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
@@ -651,7 +651,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  
  		memcpy(buf, page_address(page) + offset, cpylen);
  		page_cache_release(page);
-@@ -141,7 +161,10 @@
+@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
  		offset = 0;
  		index++;
  	}
@@ -663,7 +663,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  }
  
  
-@@ -193,12 +216,22 @@
+@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in
  		size_t *retlen, const u_char *buf)
  {
  	struct block2mtd_dev *dev = mtd->priv;
@@ -690,7 +690,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	if (to + len > mtd->size)
  		len = mtd->size - to;
  
-@@ -207,6 +240,9 @@
+@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
  	mutex_unlock(&dev->write_mutex);
  	if (err > 0)
  		err = 0;
@@ -700,7 +700,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	return err;
  }
  
-@@ -215,51 +251,29 @@
+@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
  static void block2mtd_sync(struct mtd_info *mtd)
  {
  	struct block2mtd_dev *dev = mtd->priv;
@@ -760,7 +760,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  		if (devt) {
  			bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
  		}
-@@ -267,17 +281,96 @@
+@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
  #endif
  
  	if (IS_ERR(bdev)) {
@@ -860,7 +860,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  
  	/* Setup the MTD structure */
  	/* make the name contain the block device in */
-@@ -304,6 +397,7 @@
+@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device(
  	dev->mtd.read = block2mtd_read;
  	dev->mtd.priv = dev;
  	dev->mtd.owner = THIS_MODULE;
@@ -868,10 +868,10 @@ Index: linux-2.6.23-rc6/drivers/mtd/devices/block2mtd.c
  	
  	part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
  	part->name = dev->mtd.name;
-Index: linux-2.6.23-rc6/drivers/mtd/mtdchar.c
+Index: linux-2.6.23.17/drivers/mtd/mtdchar.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/mtd/mtdchar.c	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/mtd/mtdchar.c	2007-09-21 16:23:59.000000000 +0800
+--- linux-2.6.23.17.orig/drivers/mtd/mtdchar.c
++++ linux-2.6.23.17/drivers/mtd/mtdchar.c
 @@ -17,6 +17,7 @@
  
  #include <linux/mtd/mtd.h>
@@ -880,7 +880,7 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdchar.c
  
  #include <asm/uaccess.h>
  
-@@ -753,6 +754,13 @@
+@@ -753,6 +754,13 @@ static int mtd_ioctl(struct inode *inode
  		file->f_pos = 0;
  		break;
  	}
@@ -894,11 +894,11 @@ Index: linux-2.6.23-rc6/drivers/mtd/mtdchar.c
  
  	default:
  		ret = -ENOTTY;
-Index: linux-2.6.23-rc6/include/linux/mtd/mtd.h
+Index: linux-2.6.23.17/include/linux/mtd/mtd.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/mtd/mtd.h	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/mtd/mtd.h	2007-09-21 16:23:59.000000000 +0800
-@@ -98,6 +98,7 @@
+--- linux-2.6.23.17.orig/include/linux/mtd/mtd.h
++++ linux-2.6.23.17/include/linux/mtd/mtd.h
+@@ -98,6 +98,7 @@ struct mtd_oob_ops {
  	uint8_t		*oobbuf;
  };
  
@@ -906,7 +906,7 @@ Index: linux-2.6.23-rc6/include/linux/mtd/mtd.h
  struct mtd_info {
  	u_char type;
  	u_int32_t flags;
-@@ -195,6 +196,9 @@
+@@ -195,6 +196,9 @@ struct mtd_info {
  	struct module *owner;
  	int usecount;
  
@@ -916,10 +916,10 @@ Index: linux-2.6.23-rc6/include/linux/mtd/mtd.h
  	/* If the driver is something smart, like UBI, it may need to maintain
  	 * its own reference counting. The below functions are only for driver.
  	 * The driver may register its callbacks. These callbacks are not
-Index: linux-2.6.23-rc6/include/linux/mtd/partitions.h
+Index: linux-2.6.23.17/include/linux/mtd/partitions.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/mtd/partitions.h	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/mtd/partitions.h	2007-09-21 16:23:59.000000000 +0800
+--- linux-2.6.23.17.orig/include/linux/mtd/partitions.h
++++ linux-2.6.23.17/include/linux/mtd/partitions.h
 @@ -36,6 +36,7 @@
   * erasesize aligned (e.g. use MTDPART_OFS_NEXTBLK).
   */
@@ -928,7 +928,7 @@ Index: linux-2.6.23-rc6/include/linux/mtd/partitions.h
  struct mtd_partition {
  	char *name;			/* identifier string */
  	u_int32_t size;			/* partition size */
-@@ -43,6 +44,7 @@
+@@ -43,6 +44,7 @@ struct mtd_partition {
  	u_int32_t mask_flags;		/* master MTD flags to mask out for this partition */
  	struct nand_ecclayout *ecclayout;	/* out of band layout for this partition (NAND only)*/
  	struct mtd_info **mtdp;		/* pointer to store the MTD object */
@@ -936,7 +936,7 @@ Index: linux-2.6.23-rc6/include/linux/mtd/partitions.h
  };
  
  #define MTDPART_OFS_NXTBLK	(-2)
-@@ -52,6 +54,7 @@
+@@ -52,6 +54,7 @@ struct mtd_partition {
  
  int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
  int del_mtd_partitions(struct mtd_info *);
@@ -944,11 +944,11 @@ Index: linux-2.6.23-rc6/include/linux/mtd/partitions.h
  
  /*
   * Functions dealing with the various ways of partitioning the space
-Index: linux-2.6.23-rc6/include/mtd/mtd-abi.h
+Index: linux-2.6.23.17/include/mtd/mtd-abi.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/mtd/mtd-abi.h	2007-09-21 16:23:54.000000000 +0800
-+++ linux-2.6.23-rc6/include/mtd/mtd-abi.h	2007-09-21 16:23:59.000000000 +0800
-@@ -95,6 +95,7 @@
+--- linux-2.6.23.17.orig/include/mtd/mtd-abi.h
++++ linux-2.6.23.17/include/mtd/mtd-abi.h
+@@ -95,6 +95,7 @@ struct otp_info {
  #define ECCGETLAYOUT		_IOR('M', 17, struct nand_ecclayout)
  #define ECCGETSTATS		_IOR('M', 18, struct mtd_ecc_stats)
  #define MTDFILEMODE		_IO('M', 19)
diff --git a/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch
index 272a51fcc..638432406 100644
--- a/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/070-redboot_space.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.1/drivers/mtd/redboot.c
+Index: linux-2.6.23.17/drivers/mtd/redboot.c
 ===================================================================
---- linux-2.6.23.1.orig/drivers/mtd/redboot.c	2008-01-26 01:43:10.742362738 +0100
-+++ linux-2.6.23.1/drivers/mtd/redboot.c	2008-01-26 01:47:24.432819736 +0100
-@@ -236,14 +236,21 @@
+--- linux-2.6.23.17.orig/drivers/mtd/redboot.c
++++ linux-2.6.23.17/drivers/mtd/redboot.c
+@@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru
  #endif
  		names += strlen(names)+1;
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch
index fb438106a..118e7e14e 100644
--- a/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/100-netfilter_layer7_2.17.patch
@@ -1,5 +1,7 @@
---- linux-2.6.24-rc5/net/netfilter/Kconfig	2007-12-11 23:43:21.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/Kconfig	2007-12-11 23:35:12.000000000 -0600
+Index: linux-2.6.23.17/net/netfilter/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/net/netfilter/Kconfig
++++ linux-2.6.23.17/net/netfilter/Kconfig
 @@ -633,6 +633,27 @@ config NETFILTER_XT_MATCH_STATE
  
  	  To compile it as a module, choose M here.  If unsure, say N.
@@ -28,9 +30,11 @@
  config NETFILTER_XT_MATCH_STATISTIC
  	tristate '"statistic" match support'
  	depends on NETFILTER_XTABLES
---- linux-2.6.24-rc5/net/netfilter/Makefile	2007-12-11 23:43:21.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/Makefile	2007-12-11 23:35:12.000000000 -0600
-@@ -73,6 +73,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
+Index: linux-2.6.23.17/net/netfilter/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/net/netfilter/Makefile
++++ linux-2.6.23.17/net/netfilter/Makefile
+@@ -71,6 +71,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
  obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
@@ -38,8 +42,10 @@
  obj-$(CONFIG_NETFILTER_XT_MATCH_STATISTIC) += xt_statistic.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) += xt_string.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
---- linux-2.6.24-rc5/net/netfilter/xt_layer7.c	1969-12-31 18:00:00.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/xt_layer7.c	2007-12-11 23:55:46.000000000 -0600
+Index: linux-2.6.23.17/net/netfilter/xt_layer7.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/netfilter/xt_layer7.c
 @@ -0,0 +1,634 @@
 +/*
 +  Kernel module to match application layer (OSI layer 7) data in connections.
@@ -675,8 +681,10 @@
 +
 +module_init(xt_layer7_init);
 +module_exit(xt_layer7_fini);
---- linux-2.6.24-rc5/net/netfilter/regexp/regexp.c	1969-12-31 18:00:00.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/regexp/regexp.c	2007-12-11 23:35:12.000000000 -0600
+Index: linux-2.6.23.17/net/netfilter/regexp/regexp.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/netfilter/regexp/regexp.c
 @@ -0,0 +1,1197 @@
 +/*
 + * regcomp and regexec -- regsub and regerror are elsewhere
@@ -1875,8 +1883,10 @@
 +#endif
 +
 +
---- linux-2.6.24-rc5/net/netfilter/regexp/regexp.h	1969-12-31 18:00:00.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/regexp/regexp.h	2007-12-11 23:35:12.000000000 -0600
+Index: linux-2.6.23.17/net/netfilter/regexp/regexp.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/netfilter/regexp/regexp.h
 @@ -0,0 +1,41 @@
 +/*
 + * Definitions etc. for regexp(3) routines.
@@ -1919,16 +1929,20 @@
 +void regerror(char *s);
 +
 +#endif
---- linux-2.6.24-rc5/net/netfilter/regexp/regmagic.h	1969-12-31 18:00:00.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/regexp/regmagic.h	2007-12-11 23:35:12.000000000 -0600
+Index: linux-2.6.23.17/net/netfilter/regexp/regmagic.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/netfilter/regexp/regmagic.h
 @@ -0,0 +1,5 @@
 +/*
 + * The first byte of the regexp internal "program" is actually this magic
 + * number; the start node begins in the second byte.
 + */
 +#define	MAGIC	0234
---- linux-2.6.24-rc5/net/netfilter/regexp/regsub.c	1969-12-31 18:00:00.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/regexp/regsub.c	2007-12-11 23:35:12.000000000 -0600
+Index: linux-2.6.23.17/net/netfilter/regexp/regsub.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/netfilter/regexp/regsub.c
 @@ -0,0 +1,95 @@
 +/*
 + * regsub
@@ -2025,9 +2039,11 @@
 +	}
 +	*dst++ = '\0';
 +}
---- linux-2.6.24-rc5/net/netfilter/nf_conntrack_core.c	2007-12-11 23:43:21.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/nf_conntrack_core.c	2007-12-11 23:35:12.000000000 -0600
-@@ -206,6 +206,14 @@ destroy_conntrack(struct nf_conntrack *n
+Index: linux-2.6.23.17/net/netfilter/nf_conntrack_core.c
+===================================================================
+--- linux-2.6.23.17.orig/net/netfilter/nf_conntrack_core.c
++++ linux-2.6.23.17/net/netfilter/nf_conntrack_core.c
+@@ -207,6 +207,14 @@ destroy_conntrack(struct nf_conntrack *n
  	 * too. */
  	nf_ct_remove_expectations(ct);
  
@@ -2042,9 +2058,11 @@
  	/* We overload first tuple to link into unconfirmed list. */
  	if (!nf_ct_is_confirmed(ct)) {
  		BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
---- linux-2.6.24-rc5/net/netfilter/nf_conntrack_standalone.c	2007-12-11 23:43:22.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/net/netfilter/nf_conntrack_standalone.c	2007-12-11 23:35:12.000000000 -0600
-@@ -180,7 +180,12 @@ static int ct_seq_show(struct seq_file *
+Index: linux-2.6.23.17/net/netfilter/nf_conntrack_standalone.c
+===================================================================
+--- linux-2.6.23.17.orig/net/netfilter/nf_conntrack_standalone.c
++++ linux-2.6.23.17/net/netfilter/nf_conntrack_standalone.c
+@@ -179,7 +179,12 @@ static int ct_seq_show(struct seq_file *
  		return -ENOSPC;
  #endif
  
@@ -2058,9 +2076,11 @@
  		return -ENOSPC;
  
  	return 0;
---- linux-2.6.24-rc5/include/net/netfilter/nf_conntrack.h	2007-12-11 23:43:16.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/include/net/netfilter/nf_conntrack.h	2007-12-11 23:35:12.000000000 -0600
-@@ -124,6 +124,22 @@ struct nf_conn
+Index: linux-2.6.23.17/include/net/netfilter/nf_conntrack.h
+===================================================================
+--- linux-2.6.23.17.orig/include/net/netfilter/nf_conntrack.h
++++ linux-2.6.23.17/include/net/netfilter/nf_conntrack.h
+@@ -127,6 +127,22 @@ struct nf_conn
  	u_int32_t secmark;
  #endif
  
@@ -2083,8 +2103,10 @@
  	/* Storage reserved for other modules: */
  	union nf_conntrack_proto proto;
  
---- linux-2.6.24-rc5/include/linux/netfilter/xt_layer7.h	1969-12-31 18:00:00.000000000 -0600
-+++ linux-2.6.24-rc5-layer7/include/linux/netfilter/xt_layer7.h	2007-12-11 23:35:12.000000000 -0600
+Index: linux-2.6.23.17/include/linux/netfilter/xt_layer7.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter/xt_layer7.h
 @@ -0,0 +1,13 @@
 +#ifndef _XT_LAYER7_H
 +#define _XT_LAYER7_H
diff --git a/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch b/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch
index 257454313..77b2d1427 100644
--- a/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/101-netfilter_layer7_pktmatch.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23.16/include/linux/netfilter/xt_layer7.h
+Index: linux-2.6.23.17/include/linux/netfilter/xt_layer7.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/netfilter/xt_layer7.h
-+++ linux-2.6.23.16/include/linux/netfilter/xt_layer7.h
+--- linux-2.6.23.17.orig/include/linux/netfilter/xt_layer7.h
++++ linux-2.6.23.17/include/linux/netfilter/xt_layer7.h
 @@ -8,6 +8,7 @@ struct xt_layer7_info {
      char protocol[MAX_PROTOCOL_LEN];
      char pattern[MAX_PATTERN_LEN];
@@ -10,10 +10,10 @@ Index: linux-2.6.23.16/include/linux/netfilter/xt_layer7.h
  };
  
  #endif /* _XT_LAYER7_H */
-Index: linux-2.6.23.16/net/netfilter/xt_layer7.c
+Index: linux-2.6.23.17/net/netfilter/xt_layer7.c
 ===================================================================
---- linux-2.6.23.16.orig/net/netfilter/xt_layer7.c
-+++ linux-2.6.23.16/net/netfilter/xt_layer7.c
+--- linux-2.6.23.17.orig/net/netfilter/xt_layer7.c
++++ linux-2.6.23.17/net/netfilter/xt_layer7.c
 @@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
  }
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch b/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch
index b86d49481..efc61ba47 100644
--- a/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/110-ipp2p_0.8.1rc1.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23.1/include/linux/netfilter_ipv4/ipt_ipp2p.h
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ipp2p.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.1/include/linux/netfilter_ipv4/ipt_ipp2p.h	2007-11-19 18:22:19.000000000 -0600
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ipp2p.h
 @@ -0,0 +1,31 @@
 +#ifndef __IPT_IPP2P_H
 +#define __IPT_IPP2P_H
@@ -34,10 +34,10 @@ Index: linux-2.6.23.1/include/linux/netfilter_ipv4/ipt_ipp2p.h
 +#define IPP2P_MUTE		(1 << 14)
 +#define IPP2P_WASTE		(1 << 15)
 +#define IPP2P_XDCC		(1 << 16)
-Index: linux-2.6.23.1/net/ipv4/netfilter/ipt_ipp2p.c
+Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_ipp2p.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.1/net/ipv4/netfilter/ipt_ipp2p.c	2007-11-19 18:22:19.000000000 -0600
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ipt_ipp2p.c
 @@ -0,0 +1,856 @@
 +#if defined(MODVERSIONS)
 +#include <linux/modversions.h>
@@ -895,11 +895,11 @@ Index: linux-2.6.23.1/net/ipv4/netfilter/ipt_ipp2p.c
 +module_exit(fini);
 +
 +
-Index: linux-2.6.23.1/net/ipv4/netfilter/Kconfig
+Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23.1.orig/net/ipv4/netfilter/Kconfig	2007-11-19 18:21:55.000000000 -0600
-+++ linux-2.6.23.1/net/ipv4/netfilter/Kconfig	2007-11-19 18:22:19.000000000 -0600
-@@ -63,6 +63,12 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -912,11 +912,11 @@ Index: linux-2.6.23.1/net/ipv4/netfilter/Kconfig
  config IP_NF_MATCH_TOS
  	tristate "TOS match support"
  	depends on IP_NF_IPTABLES
-Index: linux-2.6.23.1/net/ipv4/netfilter/Makefile
+Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
 ===================================================================
---- linux-2.6.23.1.orig/net/ipv4/netfilter/Makefile	2007-11-19 18:21:55.000000000 -0600
-+++ linux-2.6.23.1/net/ipv4/netfilter/Makefile	2007-11-19 18:23:45.000000000 -0600
-@@ -50,6 +50,8 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
+@@ -50,6 +50,8 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
  obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch b/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch
index 6fcacc459..879073333 100644
--- a/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/120-openswan-2.4.0.kernel-2.6-natt.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc7/include/net/xfrmudp.h
+Index: linux-2.6.23.17/include/net/xfrmudp.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc7/include/net/xfrmudp.h	2007-10-02 00:58:05.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/net/xfrmudp.h
 @@ -0,0 +1,10 @@
 +/*
 + * pointer to function for type that xfrm4_input wants, to permit
@@ -13,11 +13,11 @@ Index: linux-2.6.23-rc7/include/net/xfrmudp.h
 +extern int udp4_register_esp_rcvencap(xfrm4_rcv_encap_t func
 +				      , xfrm4_rcv_encap_t *oldfunc);
 +extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func);
-Index: linux-2.6.23-rc7/net/ipv4/Kconfig
+Index: linux-2.6.23.17/net/ipv4/Kconfig
 ===================================================================
---- linux-2.6.23-rc7.orig/net/ipv4/Kconfig	2007-10-02 00:58:02.000000000 +0800
-+++ linux-2.6.23-rc7/net/ipv4/Kconfig	2007-10-02 00:58:05.000000000 +0800
-@@ -224,6 +224,12 @@
+--- linux-2.6.23.17.orig/net/ipv4/Kconfig
++++ linux-2.6.23.17/net/ipv4/Kconfig
+@@ -224,6 +224,12 @@ config NET_IPGRE_BROADCAST
  	  Network), but can be distributed all over the Internet. If you want
  	  to do that, say Y here and to "IP multicast routing" below.
  
@@ -30,10 +30,10 @@ Index: linux-2.6.23-rc7/net/ipv4/Kconfig
  config IP_MROUTE
  	bool "IP: multicast routing"
  	depends on IP_MULTICAST
-Index: linux-2.6.23-rc7/net/ipv4/xfrm4_input.c
+Index: linux-2.6.23.17/net/ipv4/xfrm4_input.c
 ===================================================================
---- linux-2.6.23-rc7.orig/net/ipv4/xfrm4_input.c	2007-10-02 00:58:02.000000000 +0800
-+++ linux-2.6.23-rc7/net/ipv4/xfrm4_input.c	2007-10-02 00:58:33.000000000 +0800
+--- linux-2.6.23.17.orig/net/ipv4/xfrm4_input.c
++++ linux-2.6.23.17/net/ipv4/xfrm4_input.c
 @@ -15,6 +15,7 @@
  #include <linux/netfilter_ipv4.h>
  #include <net/ip.h>
@@ -42,7 +42,7 @@ Index: linux-2.6.23-rc7/net/ipv4/xfrm4_input.c
  
  static int xfrm4_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq)
  {
-@@ -161,6 +162,29 @@
+@@ -161,6 +162,29 @@ drop:
  	return 0;
  }
  
@@ -72,7 +72,7 @@ Index: linux-2.6.23-rc7/net/ipv4/xfrm4_input.c
  /* If it's a keepalive packet, then just eat it.
   * If it's an encapsulated packet, then pass it to the
   * IPsec xfrm input.
-@@ -251,7 +275,13 @@
+@@ -251,7 +275,13 @@ int xfrm4_udp_encap_rcv(struct sock *sk,
  	iph->protocol = IPPROTO_ESP;
  
  	/* process ESP */
@@ -86,7 +86,7 @@ Index: linux-2.6.23-rc7/net/ipv4/xfrm4_input.c
  	return ret;
  
  drop:
-@@ -265,3 +295,8 @@
+@@ -265,3 +295,8 @@ int xfrm4_rcv(struct sk_buff *skb)
  }
  
  EXPORT_SYMBOL(xfrm4_rcv);
diff --git a/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch b/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch
index 7c065e8e8..9852c8309 100644
--- a/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/130-netfilter_ipset.patch
@@ -1,6 +1,7 @@
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set.h
 @@ -0,0 +1,498 @@
 +#ifndef _IP_SET_H
 +#define _IP_SET_H
@@ -500,9 +501,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set.h linux-2.6.23.pom2pa
 +#endif				/* __KERNEL__ */
 +
 +#endif /*_IP_SET_H*/
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_iphash.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iphash.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_iphash.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iphash.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iphash.h
 @@ -0,0 +1,30 @@
 +#ifndef __IP_SET_IPHASH_H
 +#define __IP_SET_IPHASH_H
@@ -534,9 +536,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.6.23
 +};
 +
 +#endif	/* __IP_SET_IPHASH_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_ipmap.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_ipmap.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_ipmap.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipmap.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipmap.h
 @@ -0,0 +1,56 @@
 +#ifndef __IP_SET_IPMAP_H
 +#define __IP_SET_IPMAP_H
@@ -594,9 +597,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.6.23.
 +}
 +	
 +#endif /* __IP_SET_IPMAP_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_ipporthash.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_ipporthash.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_ipporthash.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_ipporthash.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipporthash.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_ipporthash.h
 @@ -0,0 +1,34 @@
 +#ifndef __IP_SET_IPPORTHASH_H
 +#define __IP_SET_IPPORTHASH_H
@@ -632,9 +636,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_ipporthash.h linux-2.
 +};
 +
 +#endif	/* __IP_SET_IPPORTHASH_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_iptree.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iptree.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_iptree.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptree.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptree.h
 @@ -0,0 +1,40 @@
 +#ifndef __IP_SET_IPTREE_H
 +#define __IP_SET_IPTREE_H
@@ -676,9 +681,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.6.23
 +};
 +
 +#endif	/* __IP_SET_IPTREE_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iptreemap.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_iptreemap.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iptreemap.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_iptreemap.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptreemap.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_iptreemap.h
 @@ -0,0 +1,40 @@
 +#ifndef __IP_SET_IPTREEMAP_H
 +#define __IP_SET_IPTREEMAP_H
@@ -720,9 +726,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_iptreemap.h linux-2.6
 +};
 +
 +#endif /* __IP_SET_IPTREEMAP_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_jhash.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_jhash.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_jhash.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_jhash.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_jhash.h
 @@ -0,0 +1,148 @@
 +#ifndef _LINUX_IPSET_JHASH_H
 +#define _LINUX_IPSET_JHASH_H
@@ -872,9 +879,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.6.23.
 +}
 +
 +#endif /* _LINUX_IPSET_JHASH_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_macipmap.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_macipmap.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_macipmap.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_macipmap.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_macipmap.h
 @@ -0,0 +1,38 @@
 +#ifndef __IP_SET_MACIPMAP_H
 +#define __IP_SET_MACIPMAP_H
@@ -914,9 +922,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.6.
 +};
 +
 +#endif	/* __IP_SET_MACIPMAP_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_malloc.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_malloc.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_malloc.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_malloc.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_malloc.h
 @@ -0,0 +1,116 @@
 +#ifndef _IP_SET_MALLOC_H
 +#define _IP_SET_MALLOC_H
@@ -1034,9 +1043,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.6.23
 +#endif				/* __KERNEL__ */
 +
 +#endif /*_IP_SET_MALLOC_H*/
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_nethash.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_nethash.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_nethash.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_nethash.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_nethash.h
 @@ -0,0 +1,55 @@
 +#ifndef __IP_SET_NETHASH_H
 +#define __IP_SET_NETHASH_H
@@ -1093,9 +1103,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.6.2
 +}
 +
 +#endif	/* __IP_SET_NETHASH_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_portmap.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ip_set_portmap.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ip_set_portmap.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_portmap.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ip_set_portmap.h
 @@ -0,0 +1,25 @@
 +#ifndef __IP_SET_PORTMAP_H
 +#define __IP_SET_PORTMAP_H
@@ -1122,9 +1133,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.6.2
 +};
 +
 +#endif /* __IP_SET_PORTMAP_H */
-diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ipt_set.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ipt_set.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/include/linux/netfilter_ipv4/ipt_set.h	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_set.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_set.h
 @@ -0,0 +1,21 @@
 +#ifndef _IPT_SET_H
 +#define _IPT_SET_H
@@ -1147,9 +1159,10 @@ diff -Nru linux-2.6.23/include/linux/netfilter_ipv4/ipt_set.h linux-2.6.23.pom2p
 +};
 +
 +#endif /*_IPT_SET_H*/
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set.c
 @@ -0,0 +1,2003 @@
 +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
 + *                         Patrick Schaaf <bof@bof.de>
@@ -3154,9 +3167,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set.c linux-2.6.23.pom2patch.set/ne
 +
 +module_init(ip_set_init);
 +module_exit(ip_set_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_iphash.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_iphash.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_iphash.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iphash.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_iphash.c
 @@ -0,0 +1,429 @@
 +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
 + *
@@ -3587,9 +3601,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_iphash.c linux-2.6.23.pom2patch
 +
 +module_init(ip_set_iphash_init);
 +module_exit(ip_set_iphash_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_ipmap.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_ipmap.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_ipmap.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipmap.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipmap.c
 @@ -0,0 +1,336 @@
 +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
 + *                         Patrick Schaaf <bof@bof.de>
@@ -3927,9 +3942,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_ipmap.c linux-2.6.23.pom2patch.
 +
 +module_init(ip_set_ipmap_init);
 +module_exit(ip_set_ipmap_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_ipporthash.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_ipporthash.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_ipporthash.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_ipporthash.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipporthash.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_ipporthash.c
 @@ -0,0 +1,581 @@
 +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
 + *
@@ -4512,9 +4528,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_ipporthash.c linux-2.6.23.pom2p
 +
 +module_init(ip_set_ipporthash_init);
 +module_exit(ip_set_ipporthash_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_iptree.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_iptree.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_iptree.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptree.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptree.c
 @@ -0,0 +1,612 @@
 +/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
 + *
@@ -5128,9 +5145,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_iptree.c linux-2.6.23.pom2patch
 +
 +module_init(ip_set_iptree_init);
 +module_exit(ip_set_iptree_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_iptreemap.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_iptreemap.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_iptreemap.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_iptreemap.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptreemap.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_iptreemap.c
 @@ -0,0 +1,829 @@
 +/* Copyright (C) 2007 Sven Wegener <sven.wegener@stealer.net>
 + *
@@ -5961,9 +5979,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_iptreemap.c linux-2.6.23.pom2pa
 +
 +module_init(ip_set_iptreemap_init);
 +module_exit(ip_set_iptreemap_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_macipmap.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_macipmap.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_macipmap.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_macipmap.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_macipmap.c
 @@ -0,0 +1,375 @@
 +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
 + *                         Patrick Schaaf <bof@bof.de>
@@ -6340,9 +6359,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_macipmap.c linux-2.6.23.pom2pat
 +
 +module_init(ip_set_macipmap_init);
 +module_exit(ip_set_macipmap_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_nethash.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_nethash.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_nethash.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_nethash.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_nethash.c
 @@ -0,0 +1,497 @@
 +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
 + *
@@ -6841,9 +6861,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_nethash.c linux-2.6.23.pom2patc
 +
 +module_init(ip_set_nethash_init);
 +module_exit(ip_set_nethash_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_portmap.c
---- linux-2.6.23/net/ipv4/netfilter/ip_set_portmap.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ip_set_portmap.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ip_set_portmap.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ip_set_portmap.c
 @@ -0,0 +1,346 @@
 +/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
 + *
@@ -7191,9 +7212,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ip_set_portmap.c linux-2.6.23.pom2patc
 +
 +module_init(ip_set_portmap_init);
 +module_exit(ip_set_portmap_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ipt_set.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ipt_set.c
---- linux-2.6.23/net/ipv4/netfilter/ipt_set.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ipt_set.c	2007-10-12 11:52:38.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_set.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ipt_set.c
 @@ -0,0 +1,160 @@
 +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
 + *                         Patrick Schaaf <bof@bof.de>
@@ -7355,9 +7377,10 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ipt_set.c linux-2.6.23.pom2patch.set/n
 +
 +module_init(ipt_ipset_init);
 +module_exit(ipt_ipset_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/ipt_SET.c linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ipt_SET.c
---- linux-2.6.23/net/ipv4/netfilter/ipt_SET.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/ipt_SET.c	2007-10-12 11:52:37.000000000 +0200
+Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_SET.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ipt_SET.c
 @@ -0,0 +1,172 @@
 +/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
 + *                         Patrick Schaaf <bof@bof.de>
@@ -7531,10 +7554,11 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/ipt_SET.c linux-2.6.23.pom2patch.set/n
 +
 +module_init(ipt_SET_init);
 +module_exit(ipt_SET_fini);
-diff -Nru linux-2.6.23/net/ipv4/netfilter/Kconfig linux-2.6.23.pom2patch.set/net/ipv4/netfilter/Kconfig
---- linux-2.6.23/net/ipv4/netfilter/Kconfig	2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/Kconfig	2007-10-12 11:52:38.000000000 +0200
-@@ -402,5 +402,122 @@
+Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+@@ -408,5 +408,122 @@ config IP_NF_ARP_MANGLE
  	  Allows altering the ARP packet payload: source and destination
  	  hardware and network addresses.
  
@@ -7657,18 +7681,19 @@ diff -Nru linux-2.6.23/net/ipv4/netfilter/Kconfig linux-2.6.23.pom2patch.set/net
 +
  endmenu
  
-diff -Nru linux-2.6.23/net/ipv4/netfilter/Makefile linux-2.6.23.pom2patch.set/net/ipv4/netfilter/Makefile
---- linux-2.6.23/net/ipv4/netfilter/Makefile	2007-10-09 22:31:38.000000000 +0200
-+++ linux-2.6.23.pom2patch.set/net/ipv4/netfilter/Makefile	2007-10-12 11:52:38.000000000 +0200
-@@ -48,6 +48,7 @@
+Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
+@@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_
  obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
  obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
  obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
 +obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
  obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
  
- # targets
-@@ -62,6 +63,18 @@
+ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
+@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LO
  obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
  obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
  obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch b/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch
index 4ea05672d..54d43a7f0 100644
--- a/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/140-netfilter_time.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/include/linux/netfilter_ipv4/ipt_time.h
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_time.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/include/linux/netfilter_ipv4/ipt_time.h	2007-09-21 16:24:02.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_time.h
 @@ -0,0 +1,18 @@
 +#ifndef __ipt_time_h_included__
 +#define __ipt_time_h_included__
@@ -21,10 +21,10 @@ Index: linux-2.6.23-rc6/include/linux/netfilter_ipv4/ipt_time.h
 +
 +
 +#endif /* __ipt_time_h_included__ */
-Index: linux-2.6.23-rc6/net/ipv4/netfilter/ipt_time.c
+Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_time.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/net/ipv4/netfilter/ipt_time.c	2007-09-21 16:24:02.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ipt_time.c
 @@ -0,0 +1,180 @@
 +/*
 +  This is a module which is used for time matching
@@ -206,11 +206,11 @@ Index: linux-2.6.23-rc6/net/ipv4/netfilter/ipt_time.c
 +	r->tm_mon=i;
 +	r->tm_mday=work-__spm[i]+1;
 +}
-Index: linux-2.6.23-rc6/net/ipv4/netfilter/Kconfig
+Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv4/netfilter/Kconfig	2007-09-21 16:24:01.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv4/netfilter/Kconfig	2007-09-21 16:24:02.000000000 +0800
-@@ -96,6 +96,22 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+@@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -233,11 +233,11 @@ Index: linux-2.6.23-rc6/net/ipv4/netfilter/Kconfig
  config IP_NF_MATCH_RECENT
  	tristate "recent match support"
  	depends on IP_NF_IPTABLES
-Index: linux-2.6.23-rc6/net/ipv4/netfilter/Makefile
+Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv4/netfilter/Makefile	2007-09-21 16:24:01.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv4/netfilter/Makefile	2007-09-21 16:24:02.000000000 +0800
-@@ -44,6 +44,7 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
+@@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
  obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
  obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
  obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch
index a85cf867a..0ad47ebed 100644
--- a/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/150-netfilter_imq.patch
@@ -1,6 +1,7 @@
-diff -Naurw linux-2.6.23/drivers/net/imq.c linux-2.6.23.imq/drivers/net/imq.c
---- linux-2.6.23/drivers/net/imq.c	1969-12-31 21:00:00.000000000 -0300
-+++ linux-2.6.23.imq/drivers/net/imq.c	2007-10-01 09:59:23.000000000 -0300
+Index: linux-2.6.23.17/drivers/net/imq.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/drivers/net/imq.c
 @@ -0,0 +1,400 @@
 +/*
 + *             Pseudo-driver for the intermediate queue device.
@@ -402,10 +403,11 @@ diff -Naurw linux-2.6.23/drivers/net/imq.c linux-2.6.23.imq/drivers/net/imq.c
 +MODULE_AUTHOR("http://www.linuximq.net");
 +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
 +MODULE_LICENSE("GPL");
-diff -Naurw linux-2.6.23/drivers/net/Kconfig linux-2.6.23.imq/drivers/net/Kconfig
---- linux-2.6.23/drivers/net/Kconfig	2007-10-01 09:04:50.000000000 -0300
-+++ linux-2.6.23.imq/drivers/net/Kconfig	2007-10-01 09:55:14.000000000 -0300
-@@ -112,6 +112,129 @@
+Index: linux-2.6.23.17/drivers/net/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/drivers/net/Kconfig
++++ linux-2.6.23.17/drivers/net/Kconfig
+@@ -112,6 +112,129 @@ config EQUALIZER
  	  To compile this driver as a module, choose M here: the module
  	  will be called eql.  If unsure, say N.
  
@@ -535,10 +537,11 @@ diff -Naurw linux-2.6.23/drivers/net/Kconfig linux-2.6.23.imq/drivers/net/Kconfi
  config TUN
  	tristate "Universal TUN/TAP device driver support"
  	select CRC32
-diff -Naurw linux-2.6.23/drivers/net/Makefile linux-2.6.23.imq/drivers/net/Makefile
---- linux-2.6.23/drivers/net/Makefile	2007-10-01 09:04:50.000000000 -0300
-+++ linux-2.6.23.imq/drivers/net/Makefile	2007-10-01 09:55:14.000000000 -0300
-@@ -131,6 +131,7 @@
+Index: linux-2.6.23.17/drivers/net/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/drivers/net/Makefile
++++ linux-2.6.23.17/drivers/net/Makefile
+@@ -131,6 +131,7 @@ obj-$(CONFIG_SLHC) += slhc.o
  obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
  
  obj-$(CONFIG_DUMMY) += dummy.o
@@ -546,9 +549,10 @@ diff -Naurw linux-2.6.23/drivers/net/Makefile linux-2.6.23.imq/drivers/net/Makef
  obj-$(CONFIG_IFB) += ifb.o
  obj-$(CONFIG_MACVLAN) += macvlan.o
  obj-$(CONFIG_DE600) += de600.o
-diff -Naurw linux-2.6.23/include/linux/imq.h linux-2.6.23.imq/include/linux/imq.h
---- linux-2.6.23/include/linux/imq.h	1969-12-31 21:00:00.000000000 -0300
-+++ linux-2.6.23.imq/include/linux/imq.h	2007-10-01 09:55:14.000000000 -0300
+Index: linux-2.6.23.17/include/linux/imq.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/imq.h
 @@ -0,0 +1,9 @@
 +#ifndef _IMQ_H
 +#define _IMQ_H
@@ -559,9 +563,10 @@ diff -Naurw linux-2.6.23/include/linux/imq.h linux-2.6.23.imq/include/linux/imq.
 +#define IMQ_F_ENQUEUE  0x80
 +
 +#endif /* _IMQ_H */
-diff -Naurw linux-2.6.23/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.23.imq/include/linux/netfilter_ipv4/ipt_IMQ.h
---- linux-2.6.23/include/linux/netfilter_ipv4/ipt_IMQ.h	1969-12-31 21:00:00.000000000 -0300
-+++ linux-2.6.23.imq/include/linux/netfilter_ipv4/ipt_IMQ.h	2007-10-01 09:55:14.000000000 -0300
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_IMQ.h
 @@ -0,0 +1,8 @@
 +#ifndef _IPT_IMQ_H
 +#define _IPT_IMQ_H
@@ -571,9 +576,10 @@ diff -Naurw linux-2.6.23/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.6.23.imq
 +};
 +
 +#endif /* _IPT_IMQ_H */
-diff -Naurw linux-2.6.23/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.23.imq/include/linux/netfilter_ipv6/ip6t_IMQ.h
---- linux-2.6.23/include/linux/netfilter_ipv6/ip6t_IMQ.h	1969-12-31 21:00:00.000000000 -0300
-+++ linux-2.6.23.imq/include/linux/netfilter_ipv6/ip6t_IMQ.h	2007-10-01 09:55:14.000000000 -0300
+Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_IMQ.h
 @@ -0,0 +1,8 @@
 +#ifndef _IP6T_IMQ_H
 +#define _IP6T_IMQ_H
@@ -583,10 +589,11 @@ diff -Naurw linux-2.6.23/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.6.23.im
 +};
 +
 +#endif /* _IP6T_IMQ_H */
-diff -Naurw linux-2.6.23/include/linux/skbuff.h linux-2.6.23.imq/include/linux/skbuff.h
---- linux-2.6.23/include/linux/skbuff.h	2007-10-01 09:05:08.000000000 -0300
-+++ linux-2.6.23.imq/include/linux/skbuff.h	2007-10-01 09:55:14.000000000 -0300
-@@ -296,6 +296,10 @@
+Index: linux-2.6.23.17/include/linux/skbuff.h
+===================================================================
+--- linux-2.6.23.17.orig/include/linux/skbuff.h
++++ linux-2.6.23.17/include/linux/skbuff.h
+@@ -295,6 +295,10 @@ struct sk_buff {
  	struct nf_conntrack	*nfct;
  	struct sk_buff		*nfct_reasm;
  #endif
@@ -597,7 +604,7 @@ diff -Naurw linux-2.6.23/include/linux/skbuff.h linux-2.6.23.imq/include/linux/s
  #ifdef CONFIG_BRIDGE_NETFILTER
  	struct nf_bridge_info	*nf_bridge;
  #endif
-@@ -1726,6 +1730,10 @@
+@@ -1725,6 +1729,10 @@ static inline void __nf_copy(struct sk_b
  	dst->nfct_reasm = src->nfct_reasm;
  	nf_conntrack_get_reasm(src->nfct_reasm);
  #endif
@@ -608,9 +615,10 @@ diff -Naurw linux-2.6.23/include/linux/skbuff.h linux-2.6.23.imq/include/linux/s
  #ifdef CONFIG_BRIDGE_NETFILTER
  	dst->nf_bridge  = src->nf_bridge;
  	nf_bridge_get(src->nf_bridge);
-diff -Naurw linux-2.6.23/net/core/dev.c linux-2.6.23.imq/net/core/dev.c
---- linux-2.6.23/net/core/dev.c	2007-10-01 09:05:10.000000000 -0300
-+++ linux-2.6.23.imq/net/core/dev.c	2007-10-01 09:55:14.000000000 -0300
+Index: linux-2.6.23.17/net/core/dev.c
+===================================================================
+--- linux-2.6.23.17.orig/net/core/dev.c
++++ linux-2.6.23.17/net/core/dev.c
 @@ -94,6 +94,9 @@
  #include <linux/skbuff.h>
  #include <net/sock.h>
@@ -621,7 +629,7 @@ diff -Naurw linux-2.6.23/net/core/dev.c linux-2.6.23.imq/net/core/dev.c
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
  #include <linux/stat.h>
-@@ -1462,7 +1465,11 @@
+@@ -1462,7 +1465,11 @@ static int dev_gso_segment(struct sk_buf
  int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
  {
  	if (likely(!skb->next)) {
@@ -634,9 +642,10 @@ diff -Naurw linux-2.6.23/net/core/dev.c linux-2.6.23.imq/net/core/dev.c
  			dev_queue_xmit_nit(skb, dev);
  
  		if (netif_needs_gso(dev, skb)) {
-diff -Naurw linux-2.6.23/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.23.imq/net/ipv4/netfilter/ipt_IMQ.c
---- linux-2.6.23/net/ipv4/netfilter/ipt_IMQ.c	1969-12-31 21:00:00.000000000 -0300
-+++ linux-2.6.23.imq/net/ipv4/netfilter/ipt_IMQ.c	2007-10-01 09:55:14.000000000 -0300
+Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ipt_IMQ.c
 @@ -0,0 +1,69 @@
 +/*
 + * This target marks packets to be enqueued to an imq device
@@ -707,10 +716,11 @@ diff -Naurw linux-2.6.23/net/ipv4/netfilter/ipt_IMQ.c linux-2.6.23.imq/net/ipv4/
 +MODULE_AUTHOR("http://www.linuximq.net");
 +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
 +MODULE_LICENSE("GPL");
-diff -Naurw linux-2.6.23/net/ipv4/netfilter/Kconfig linux-2.6.23.imq/net/ipv4/netfilter/Kconfig
---- linux-2.6.23/net/ipv4/netfilter/Kconfig	2007-10-01 09:05:12.000000000 -0300
-+++ linux-2.6.23.imq/net/ipv4/netfilter/Kconfig	2007-10-01 09:55:14.000000000 -0300
-@@ -311,6 +311,17 @@
+Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+@@ -333,6 +333,17 @@ config IP_NF_MANGLE
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -728,10 +738,11 @@ diff -Naurw linux-2.6.23/net/ipv4/netfilter/Kconfig linux-2.6.23.imq/net/ipv4/ne
  config IP_NF_TARGET_TOS
  	tristate "TOS target support"
  	depends on IP_NF_MANGLE
-diff -Naurw linux-2.6.23/net/ipv4/netfilter/Makefile linux-2.6.23.imq/net/ipv4/netfilter/Makefile
---- linux-2.6.23/net/ipv4/netfilter/Makefile	2007-10-01 09:03:13.000000000 -0300
-+++ linux-2.6.23.imq/net/ipv4/netfilter/Makefile	2007-10-01 09:55:14.000000000 -0300
-@@ -54,6 +54,7 @@
+Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
+@@ -58,6 +58,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
  obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
  obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
  obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
@@ -739,9 +750,10 @@ diff -Naurw linux-2.6.23/net/ipv4/netfilter/Makefile linux-2.6.23.imq/net/ipv4/n
  obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
  obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
  obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
-diff -Naurw linux-2.6.23/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.23.imq/net/ipv6/netfilter/ip6t_IMQ.c
---- linux-2.6.23/net/ipv6/netfilter/ip6t_IMQ.c	1969-12-31 21:00:00.000000000 -0300
-+++ linux-2.6.23.imq/net/ipv6/netfilter/ip6t_IMQ.c	2007-10-01 09:55:14.000000000 -0300
+Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/ipv6/netfilter/ip6t_IMQ.c
 @@ -0,0 +1,69 @@
 +/*
 + * This target marks packets to be enqueued to an imq device
@@ -812,10 +824,11 @@ diff -Naurw linux-2.6.23/net/ipv6/netfilter/ip6t_IMQ.c linux-2.6.23.imq/net/ipv6
 +MODULE_AUTHOR("http://www.linuximq.net");
 +MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
 +MODULE_LICENSE("GPL");
-diff -Naurw linux-2.6.23/net/ipv6/netfilter/Kconfig linux-2.6.23.imq/net/ipv6/netfilter/Kconfig
---- linux-2.6.23/net/ipv6/netfilter/Kconfig	2007-10-01 09:03:12.000000000 -0300
-+++ linux-2.6.23.imq/net/ipv6/netfilter/Kconfig	2007-10-01 09:55:14.000000000 -0300
-@@ -173,6 +173,15 @@
+Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/net/ipv6/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv6/netfilter/Kconfig
+@@ -173,6 +173,15 @@ config IP6_NF_MANGLE
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -831,10 +844,11 @@ diff -Naurw linux-2.6.23/net/ipv6/netfilter/Kconfig linux-2.6.23.imq/net/ipv6/ne
  config IP6_NF_TARGET_HL
  	tristate  'HL (hoplimit) target support'
  	depends on IP6_NF_MANGLE
-diff -Naurw linux-2.6.23/net/ipv6/netfilter/Makefile linux-2.6.23.imq/net/ipv6/netfilter/Makefile
---- linux-2.6.23/net/ipv6/netfilter/Makefile	2007-10-01 09:03:12.000000000 -0300
-+++ linux-2.6.23.imq/net/ipv6/netfilter/Makefile	2007-10-01 09:55:14.000000000 -0300
-@@ -13,6 +13,7 @@
+Index: linux-2.6.23.17/net/ipv6/netfilter/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/net/ipv6/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv6/netfilter/Makefile
+@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t
  obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o
  obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
  obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o
@@ -842,10 +856,11 @@ diff -Naurw linux-2.6.23/net/ipv6/netfilter/Makefile linux-2.6.23.imq/net/ipv6/n
  obj-$(CONFIG_IP6_NF_TARGET_HL) += ip6t_HL.o
  obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o
  obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
-diff -Naurw linux-2.6.23/net/sched/sch_generic.c linux-2.6.23.imq/net/sched/sch_generic.c
---- linux-2.6.23/net/sched/sch_generic.c	2007-10-01 09:05:14.000000000 -0300
-+++ linux-2.6.23.imq/net/sched/sch_generic.c	2007-10-01 09:55:14.000000000 -0300
-@@ -190,6 +190,11 @@
+Index: linux-2.6.23.17/net/sched/sch_generic.c
+===================================================================
+--- linux-2.6.23.17.orig/net/sched/sch_generic.c
++++ linux-2.6.23.17/net/sched/sch_generic.c
+@@ -191,6 +191,11 @@ static inline int qdisc_restart(struct n
  	return ret;
  }
  
@@ -857,7 +872,7 @@ diff -Naurw linux-2.6.23/net/sched/sch_generic.c linux-2.6.23.imq/net/sched/sch_
  void __qdisc_run(struct net_device *dev)
  {
  	do {
-@@ -619,3 +624,4 @@
+@@ -620,3 +625,4 @@ EXPORT_SYMBOL(qdisc_destroy);
  EXPORT_SYMBOL(qdisc_reset);
  EXPORT_SYMBOL(qdisc_lock_tree);
  EXPORT_SYMBOL(qdisc_unlock_tree);
diff --git a/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch b/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch
index 0516de128..d7fefaa1e 100644
--- a/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/160-netfilter_route.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/include/linux/netfilter_ipv4/ipt_ROUTE.h
+Index: linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ROUTE.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/include/linux/netfilter_ipv4/ipt_ROUTE.h	2007-09-21 16:24:03.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv4/ipt_ROUTE.h
 @@ -0,0 +1,23 @@
 +/* Header file for iptables ipt_ROUTE target
 + *
@@ -26,10 +26,10 @@ Index: linux-2.6.23-rc6/include/linux/netfilter_ipv4/ipt_ROUTE.h
 +#define IPT_ROUTE_TEE             0x02
 +
 +#endif /*_IPT_ROUTE_H_target*/
-Index: linux-2.6.23-rc6/include/linux/netfilter_ipv6/ip6t_ROUTE.h
+Index: linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_ROUTE.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/include/linux/netfilter_ipv6/ip6t_ROUTE.h	2007-09-21 16:24:03.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_ipv6/ip6t_ROUTE.h
 @@ -0,0 +1,23 @@
 +/* Header file for iptables ip6t_ROUTE target
 + *
@@ -54,10 +54,10 @@ Index: linux-2.6.23-rc6/include/linux/netfilter_ipv6/ip6t_ROUTE.h
 +#define IP6T_ROUTE_TEE             0x02
 +
 +#endif /*_IP6T_ROUTE_H_target*/
-Index: linux-2.6.23-rc6/net/ipv4/netfilter/ipt_ROUTE.c
+Index: linux-2.6.23.17/net/ipv4/netfilter/ipt_ROUTE.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/net/ipv4/netfilter/ipt_ROUTE.c	2007-09-21 16:24:03.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/ipt_ROUTE.c
 @@ -0,0 +1,463 @@
 +/*
 + * This implements the ROUTE target, which enables you to setup unusual
@@ -522,11 +522,11 @@ Index: linux-2.6.23-rc6/net/ipv4/netfilter/ipt_ROUTE.c
 +
 +module_init(init);
 +module_exit(fini);
-Index: linux-2.6.23-rc6/net/ipv4/netfilter/Kconfig
+Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv4/netfilter/Kconfig	2007-09-21 16:24:02.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv4/netfilter/Kconfig	2007-09-21 16:24:03.000000000 +0800
-@@ -562,5 +562,22 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+@@ -552,5 +552,22 @@ config IP_NF_TARGET_SET
  	  To compile it as a module, choose M here.  If unsure, say N.
  
  
@@ -549,11 +549,11 @@ Index: linux-2.6.23-rc6/net/ipv4/netfilter/Kconfig
 +
  endmenu
  
-Index: linux-2.6.23-rc6/net/ipv4/netfilter/Makefile
+Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv4/netfilter/Makefile	2007-09-21 16:24:02.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv4/netfilter/Makefile	2007-09-21 16:24:03.000000000 +0800
-@@ -61,6 +61,7 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
+@@ -61,6 +61,7 @@ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_EC
  obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
  obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
  obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
@@ -561,11 +561,11 @@ Index: linux-2.6.23-rc6/net/ipv4/netfilter/Makefile
  obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
  obj-$(CONFIG_IP_NF_TARGET_SAME) += ipt_SAME.o
  obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
-Index: linux-2.6.23-rc6/net/ipv6/ndisc.c
+Index: linux-2.6.23.17/net/ipv6/ndisc.c
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv6/ndisc.c	2007-09-21 16:23:53.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv6/ndisc.c	2007-09-21 16:24:03.000000000 +0800
-@@ -154,6 +154,8 @@
+--- linux-2.6.23.17.orig/net/ipv6/ndisc.c
++++ linux-2.6.23.17/net/ipv6/ndisc.c
+@@ -154,6 +154,8 @@ struct neigh_table nd_tbl = {
  	.gc_thresh3 =	1024,
  };
  
@@ -574,10 +574,10 @@ Index: linux-2.6.23-rc6/net/ipv6/ndisc.c
  /* ND options */
  struct ndisc_options {
  	struct nd_opt_hdr *nd_opt_array[__ND_OPT_ARRAY_MAX];
-Index: linux-2.6.23-rc6/net/ipv6/netfilter/ip6t_ROUTE.c
+Index: linux-2.6.23.17/net/ipv6/netfilter/ip6t_ROUTE.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/net/ipv6/netfilter/ip6t_ROUTE.c	2007-09-21 16:24:03.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/net/ipv6/netfilter/ip6t_ROUTE.c
 @@ -0,0 +1,330 @@
 +/*
 + * This implements the ROUTE v6 target, which enables you to setup unusual
@@ -909,11 +909,11 @@ Index: linux-2.6.23-rc6/net/ipv6/netfilter/ip6t_ROUTE.c
 +module_init(init);
 +module_exit(fini);
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.23-rc6/net/ipv6/netfilter/Kconfig
+Index: linux-2.6.23.17/net/ipv6/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv6/netfilter/Kconfig	2007-09-21 16:24:02.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv6/netfilter/Kconfig	2007-09-21 16:24:03.000000000 +0800
-@@ -209,5 +209,18 @@
+--- linux-2.6.23.17.orig/net/ipv6/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv6/netfilter/Kconfig
+@@ -209,5 +209,18 @@ config IP6_NF_RAW
  	  If you want to compile it as a module, say M here and read
  	  <file:Documentation/kbuild/modules.txt>.  If unsure, say `N'.
  
@@ -932,11 +932,11 @@ Index: linux-2.6.23-rc6/net/ipv6/netfilter/Kconfig
 +
  endmenu
  
-Index: linux-2.6.23-rc6/net/ipv6/netfilter/Makefile
+Index: linux-2.6.23.17/net/ipv6/netfilter/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv6/netfilter/Makefile	2007-09-21 16:24:02.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv6/netfilter/Makefile	2007-09-21 16:24:03.000000000 +0800
-@@ -20,6 +20,7 @@
+--- linux-2.6.23.17.orig/net/ipv6/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv6/netfilter/Makefile
+@@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_
  obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o
  obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o
  obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch b/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch
index ad9e0597b..231921dcf 100644
--- a/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/170-netfilter_chaostables_0.8.patch
@@ -1,17 +1,17 @@
-Index: linux-2.6.23.16/include/linux/netfilter/oot_conntrack.h
+Index: linux-2.6.23.17/include/linux/netfilter/oot_conntrack.h
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/include/linux/netfilter/oot_conntrack.h
++++ linux-2.6.23.17/include/linux/netfilter/oot_conntrack.h
 @@ -0,0 +1,5 @@
 +#if defined(CONFIG_IP_NF_CONNTRACK) || defined(CONFIG_IP_NF_CONNTRACK_MODULE)
 +#	include <linux/netfilter_ipv4/ip_conntrack.h>
 +#else /* linux-2.6.20+ */
 +#	include <net/netfilter/nf_nat_rule.h>
 +#endif
-Index: linux-2.6.23.16/include/linux/netfilter/oot_trans.h
+Index: linux-2.6.23.17/include/linux/netfilter/oot_trans.h
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/include/linux/netfilter/oot_trans.h
++++ linux-2.6.23.17/include/linux/netfilter/oot_trans.h
 @@ -0,0 +1,14 @@
 +/* Out of tree workarounds */
 +#include <linux/version.h>
@@ -27,10 +27,10 @@ Index: linux-2.6.23.16/include/linux/netfilter/oot_trans.h
 +#	define tcp_v4_check(tcph, tcph_sz, s, d, csp) \
 +		tcp_v4_check((tcph_sz), (s), (d), (csp))
 +#endif
-Index: linux-2.6.23.16/include/linux/netfilter/xt_CHAOS.h
+Index: linux-2.6.23.17/include/linux/netfilter/xt_CHAOS.h
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/include/linux/netfilter/xt_CHAOS.h
++++ linux-2.6.23.17/include/linux/netfilter/xt_CHAOS.h
 @@ -0,0 +1,14 @@
 +#ifndef _LINUX_NETFILTER_XT_CHAOS_H
 +#define _LINUX_NETFILTER_XT_CHAOS_H 1
@@ -46,10 +46,10 @@ Index: linux-2.6.23.16/include/linux/netfilter/xt_CHAOS.h
 +};
 +
 +#endif /* _LINUX_NETFILTER_XT_CHAOS_H */
-Index: linux-2.6.23.16/include/linux/netfilter/xt_portscan.h
+Index: linux-2.6.23.17/include/linux/netfilter/xt_portscan.h
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/include/linux/netfilter/xt_portscan.h
++++ linux-2.6.23.17/include/linux/netfilter/xt_portscan.h
 @@ -0,0 +1,8 @@
 +#ifndef _LINUX_NETFILTER_XT_PORTSCAN_H
 +#define _LINUX_NETFILTER_XT_PORTSCAN_H 1
@@ -59,10 +59,10 @@ Index: linux-2.6.23.16/include/linux/netfilter/xt_portscan.h
 +};
 +
 +#endif /* _LINUX_NETFILTER_XT_PORTSCAN_H */
-Index: linux-2.6.23.16/net/netfilter/find_match.c
+Index: linux-2.6.23.17/net/netfilter/find_match.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/net/netfilter/find_match.c
++++ linux-2.6.23.17/net/netfilter/find_match.c
 @@ -0,0 +1,39 @@
 +/*
 +    xt_request_find_match
@@ -103,10 +103,10 @@ Index: linux-2.6.23.16/net/netfilter/find_match.c
 +
 +/* In case it goes into mainline, let this out-of-tree package compile */
 +#define xt_request_find_match xt_request_find_match_lo
-Index: linux-2.6.23.16/net/netfilter/Kconfig
+Index: linux-2.6.23.17/net/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/net/netfilter/Kconfig
-+++ linux-2.6.23.16/net/netfilter/Kconfig
+--- linux-2.6.23.17.orig/net/netfilter/Kconfig
++++ linux-2.6.23.17/net/netfilter/Kconfig
 @@ -265,6 +265,14 @@ config NETFILTER_XTABLES
  
  # alphabetically ordered list of targets
@@ -152,10 +152,10 @@ Index: linux-2.6.23.16/net/netfilter/Kconfig
  config NETFILTER_XT_MATCH_MULTIPORT
  	tristate "Multiple port match support"
  	depends on NETFILTER_XTABLES
-Index: linux-2.6.23.16/net/netfilter/Makefile
+Index: linux-2.6.23.17/net/netfilter/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/net/netfilter/Makefile
-+++ linux-2.6.23.16/net/netfilter/Makefile
+--- linux-2.6.23.17.orig/net/netfilter/Makefile
++++ linux-2.6.23.17/net/netfilter/Makefile
 @@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) 
  obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
@@ -170,10 +170,10 @@ Index: linux-2.6.23.16/net/netfilter/Makefile
  obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
  obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
 +obj-$(CONFIG_NETFILTER_XT_MATCH_PORTSCAN) += xt_portscan.o
-Index: linux-2.6.23.16/net/netfilter/xt_CHAOS.c
+Index: linux-2.6.23.17/net/netfilter/xt_CHAOS.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/net/netfilter/xt_CHAOS.c
++++ linux-2.6.23.17/net/netfilter/xt_CHAOS.c
 @@ -0,0 +1,200 @@
 +/*
 + *	CHAOS target for netfilter
@@ -375,10 +375,10 @@ Index: linux-2.6.23.16/net/netfilter/xt_CHAOS.c
 +MODULE_DESCRIPTION("netfilter \"CHAOS\" target");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("ipt_CHAOS");
-Index: linux-2.6.23.16/net/netfilter/xt_DELUDE.c
+Index: linux-2.6.23.17/net/netfilter/xt_DELUDE.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/net/netfilter/xt_DELUDE.c
++++ linux-2.6.23.17/net/netfilter/xt_DELUDE.c
 @@ -0,0 +1,197 @@
 +/*
 + *	DELUDE target
@@ -577,10 +577,10 @@ Index: linux-2.6.23.16/net/netfilter/xt_DELUDE.c
 +MODULE_DESCRIPTION("netfilter \"DELUDE\" target");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("ipt_DELUDE");
-Index: linux-2.6.23.16/net/netfilter/xt_portscan.c
+Index: linux-2.6.23.17/net/netfilter/xt_portscan.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/net/netfilter/xt_portscan.c
++++ linux-2.6.23.17/net/netfilter/xt_portscan.c
 @@ -0,0 +1,269 @@
 +/*
 + *	portscan match for netfilter
@@ -851,10 +851,10 @@ Index: linux-2.6.23.16/net/netfilter/xt_portscan.c
 +MODULE_DESCRIPTION("netfilter \"portscan\" match");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("ipt_portscan");
-Index: linux-2.6.23.16/drivers/char/random.c
+Index: linux-2.6.23.17/drivers/char/random.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/char/random.c
-+++ linux-2.6.23.16/drivers/char/random.c
+--- linux-2.6.23.17.orig/drivers/char/random.c
++++ linux-2.6.23.17/drivers/char/random.c
 @@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32 
  	return seq;
  }
diff --git a/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch b/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch
index 073951a15..847d47427 100644
--- a/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/171-netfilter_tarpit.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23.16/net/netfilter/Kconfig
+Index: linux-2.6.23.17/net/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/net/netfilter/Kconfig
-+++ linux-2.6.23.16/net/netfilter/Kconfig
+--- linux-2.6.23.17.orig/net/netfilter/Kconfig
++++ linux-2.6.23.17/net/netfilter/Kconfig
 @@ -401,6 +401,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
  
  	  To compile it as a module, choose M here.  If unsure, say N.
@@ -26,10 +26,10 @@ Index: linux-2.6.23.16/net/netfilter/Kconfig
  config NETFILTER_XT_TARGET_TCPMSS
  	tristate '"TCPMSS" target support'
  	depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
-Index: linux-2.6.23.16/net/netfilter/Makefile
+Index: linux-2.6.23.17/net/netfilter/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/net/netfilter/Makefile
-+++ linux-2.6.23.16/net/netfilter/Makefile
+--- linux-2.6.23.17.orig/net/netfilter/Makefile
++++ linux-2.6.23.17/net/netfilter/Makefile
 @@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG) 
  obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
@@ -38,10 +38,10 @@ Index: linux-2.6.23.16/net/netfilter/Makefile
  obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
  obj-$(CONFIG_NETFILTER_XT_TARGET_CHAOS) += xt_CHAOS.o
-Index: linux-2.6.23.16/net/netfilter/xt_TARPIT.c
+Index: linux-2.6.23.17/net/netfilter/xt_TARPIT.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/net/netfilter/xt_TARPIT.c
++++ linux-2.6.23.17/net/netfilter/xt_TARPIT.c
 @@ -0,0 +1,280 @@
 +/*
 + * Kernel module to capture and hold incoming TCP connections using
diff --git a/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch b/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch
index 671a53cf0..41a9c2035 100644
--- a/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/180-netfilter_depends.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/net/netfilter/Kconfig
+Index: linux-2.6.23.17/net/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23-rc6.orig/net/netfilter/Kconfig	2007-09-21 16:24:03.000000000 +0800
-+++ linux-2.6.23-rc6/net/netfilter/Kconfig	2007-09-21 16:24:04.000000000 +0800
-@@ -143,7 +143,7 @@
+--- linux-2.6.23.17.orig/net/netfilter/Kconfig
++++ linux-2.6.23.17/net/netfilter/Kconfig
+@@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP
  
  config NF_CONNTRACK_H323
  	tristate "H.323 protocol support (EXPERIMENTAL)"
@@ -11,7 +11,7 @@ Index: linux-2.6.23-rc6/net/netfilter/Kconfig
  	help
  	  H.323 is a VoIP signalling protocol from ITU-T. As one of the most
  	  important VoIP protocols, it is widely used by voice hardware and
-@@ -403,7 +403,7 @@
+@@ -420,7 +420,7 @@ config NETFILTER_XT_TARGET_TARPIT
  
  config NETFILTER_XT_TARGET_TCPMSS
  	tristate '"TCPMSS" target support'
diff --git a/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch
index 0dc8596e5..bda3d74fe 100644
--- a/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/190-netfilter_rtsp.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc9/include/linux/netfilter/nf_conntrack_rtsp.h
+Index: linux-2.6.23.17/include/linux/netfilter/nf_conntrack_rtsp.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc9/include/linux/netfilter/nf_conntrack_rtsp.h	2007-10-05 21:26:39.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter/nf_conntrack_rtsp.h
 @@ -0,0 +1,63 @@
 +/*
 + * RTSP extension for IP connection tracking.
@@ -66,10 +66,10 @@ Index: linux-2.6.23-rc9/include/linux/netfilter/nf_conntrack_rtsp.h
 +#endif /* __KERNEL__ */
 +
 +#endif /* _IP_CONNTRACK_RTSP_H */
-Index: linux-2.6.23-rc9/include/linux/netfilter_helpers.h
+Index: linux-2.6.23.17/include/linux/netfilter_helpers.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc9/include/linux/netfilter_helpers.h	2007-10-05 21:26:39.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_helpers.h
 @@ -0,0 +1,133 @@
 +/*
 + * Helpers for netfiler modules.  This file provides implementations for basic
@@ -204,10 +204,10 @@ Index: linux-2.6.23-rc9/include/linux/netfilter_helpers.h
 +#endif /* __KERNEL__ */
 +
 +#endif /* _NETFILTER_HELPERS_H */
-Index: linux-2.6.23-rc9/include/linux/netfilter_mime.h
+Index: linux-2.6.23.17/include/linux/netfilter_mime.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc9/include/linux/netfilter_mime.h	2007-10-05 21:26:39.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/linux/netfilter_mime.h
 @@ -0,0 +1,89 @@
 +/*
 + * MIME functions for netfilter modules.  This file provides implementations
@@ -298,11 +298,11 @@ Index: linux-2.6.23-rc9/include/linux/netfilter_mime.h
 +#endif /* __KERNEL__ */
 +
 +#endif /* _NETFILTER_MIME_H */
-Index: linux-2.6.23-rc9/net/ipv4/netfilter/Makefile
+Index: linux-2.6.23.17/net/ipv4/netfilter/Makefile
 ===================================================================
---- linux-2.6.23-rc9.orig/net/ipv4/netfilter/Makefile	2007-10-05 21:26:39.000000000 +0800
-+++ linux-2.6.23-rc9/net/ipv4/netfilter/Makefile	2007-10-05 21:26:39.000000000 +0800
-@@ -23,6 +23,7 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Makefile
++++ linux-2.6.23.17/net/ipv4/netfilter/Makefile
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
  obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
  obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
  obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
@@ -310,11 +310,11 @@ Index: linux-2.6.23-rc9/net/ipv4/netfilter/Makefile
  obj-$(CONFIG_NF_NAT_PPTP) += nf_nat_pptp.o
  obj-$(CONFIG_NF_NAT_SIP) += nf_nat_sip.o
  obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
-Index: linux-2.6.23-rc9/net/netfilter/Kconfig
+Index: linux-2.6.23.17/net/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23-rc9.orig/net/netfilter/Kconfig	2007-10-05 21:26:39.000000000 +0800
-+++ linux-2.6.23-rc9/net/netfilter/Kconfig	2007-10-05 21:26:39.000000000 +0800
-@@ -249,6 +249,16 @@
+--- linux-2.6.23.17.orig/net/netfilter/Kconfig
++++ linux-2.6.23.17/net/netfilter/Kconfig
+@@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP
  
  	  To compile it as a module, choose M here.  If unsure, say N.
  
@@ -331,11 +331,11 @@ Index: linux-2.6.23-rc9/net/netfilter/Kconfig
  config NF_CT_NETLINK
  	tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
  	depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
-Index: linux-2.6.23-rc9/net/netfilter/Makefile
+Index: linux-2.6.23.17/net/netfilter/Makefile
 ===================================================================
---- linux-2.6.23-rc9.orig/net/netfilter/Makefile	2007-10-05 21:26:39.000000000 +0800
-+++ linux-2.6.23-rc9/net/netfilter/Makefile	2007-10-05 21:26:39.000000000 +0800
-@@ -33,6 +33,7 @@
+--- linux-2.6.23.17.orig/net/netfilter/Makefile
++++ linux-2.6.23.17/net/netfilter/Makefile
+@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
  obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
  obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
  obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
@@ -343,11 +343,11 @@ Index: linux-2.6.23-rc9/net/netfilter/Makefile
  
  # generic X tables 
  obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
-Index: linux-2.6.23-rc9/net/ipv4/netfilter/Kconfig
+Index: linux-2.6.23.17/net/ipv4/netfilter/Kconfig
 ===================================================================
---- linux-2.6.23-rc9.orig/net/ipv4/netfilter/Kconfig	2007-10-05 21:26:39.000000000 +0800
-+++ linux-2.6.23-rc9/net/ipv4/netfilter/Kconfig	2007-10-05 21:26:39.000000000 +0800
-@@ -314,6 +314,11 @@
+--- linux-2.6.23.17.orig/net/ipv4/netfilter/Kconfig
++++ linux-2.6.23.17/net/ipv4/netfilter/Kconfig
+@@ -296,6 +296,11 @@ config NF_NAT_IRC
  	depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
  	default NF_NAT && NF_CONNTRACK_IRC
  
@@ -359,10 +359,10 @@ Index: linux-2.6.23-rc9/net/ipv4/netfilter/Kconfig
  config NF_NAT_TFTP
  	tristate
  	depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
-Index: linux-2.6.23-rc9/net/netfilter/nf_conntrack_rtsp.c
+Index: linux-2.6.23.17/net/netfilter/nf_conntrack_rtsp.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc9/net/netfilter/nf_conntrack_rtsp.c	2007-10-05 21:46:43.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/net/netfilter/nf_conntrack_rtsp.c
 @@ -0,0 +1,513 @@
 +/*
 + * RTSP extension for IP connection tracking
@@ -877,10 +877,10 @@ Index: linux-2.6.23-rc9/net/netfilter/nf_conntrack_rtsp.c
 +
 +EXPORT_SYMBOL(nf_nat_rtsp_hook_expectfn);
 +
-Index: linux-2.6.23-rc9/net/ipv4/netfilter/nf_nat_rtsp.c
+Index: linux-2.6.23.17/net/ipv4/netfilter/nf_nat_rtsp.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc9/net/ipv4/netfilter/nf_nat_rtsp.c	2007-10-05 21:41:16.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/net/ipv4/netfilter/nf_nat_rtsp.c
 @@ -0,0 +1,496 @@
 +/*
 + * RTSP extension for TCP NAT alteration
diff --git a/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch b/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch
index ac5eeee81..3a9fe4306 100644
--- a/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/200-sched_esfq.patch
@@ -1,7 +1,8 @@
-diff -Naur linux-2.6.21.5.orig/include/linux/pkt_sched.h linux-2.6.21.5/include/linux/pkt_sched.h
---- linux-2.6.21.5.orig/include/linux/pkt_sched.h	2007-06-11 11:37:06.000000000 -0700
-+++ linux-2.6.21.5/include/linux/pkt_sched.h	2007-06-22 22:53:46.000000000 -0700
-@@ -146,8 +146,37 @@
+Index: linux-2.6.23.17/include/linux/pkt_sched.h
+===================================================================
+--- linux-2.6.23.17.orig/include/linux/pkt_sched.h
++++ linux-2.6.23.17/include/linux/pkt_sched.h
+@@ -155,8 +155,37 @@ struct tc_sfq_qopt
   *
   *	The only reason for this is efficiency, it is possible
   *	to change these parameters in compile time.
@@ -39,10 +40,11 @@ diff -Naur linux-2.6.21.5.orig/include/linux/pkt_sched.h linux-2.6.21.5/include/
  /* RED section */
  
  enum
-diff -Naur linux-2.6.21.5.orig/net/sched/Kconfig linux-2.6.21.5/net/sched/Kconfig
---- linux-2.6.21.5.orig/net/sched/Kconfig	2007-06-11 11:37:06.000000000 -0700
-+++ linux-2.6.21.5/net/sched/Kconfig	2007-06-23 14:11:02.000000000 -0700
-@@ -189,6 +189,37 @@
+Index: linux-2.6.23.17/net/sched/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/net/sched/Kconfig
++++ linux-2.6.23.17/net/sched/Kconfig
+@@ -144,6 +144,37 @@ config NET_SCH_SFQ
  	  To compile this code as a module, choose M here: the
  	  module will be called sch_sfq.
  
@@ -80,10 +82,11 @@ diff -Naur linux-2.6.21.5.orig/net/sched/Kconfig linux-2.6.21.5/net/sched/Kconfi
  config NET_SCH_TEQL
  	tristate "True Link Equalizer (TEQL)"
  	---help---
-diff -Naur linux-2.6.21.5.orig/net/sched/Makefile linux-2.6.21.5/net/sched/Makefile
---- linux-2.6.21.5.orig/net/sched/Makefile	2007-06-11 11:37:06.000000000 -0700
-+++ linux-2.6.21.5/net/sched/Makefile	2007-06-22 22:53:46.000000000 -0700
-@@ -23,6 +23,7 @@
+Index: linux-2.6.23.17/net/sched/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/net/sched/Makefile
++++ linux-2.6.23.17/net/sched/Makefile
+@@ -22,6 +22,7 @@ obj-$(CONFIG_NET_SCH_GRED)	+= sch_gred.o
  obj-$(CONFIG_NET_SCH_INGRESS)	+= sch_ingress.o 
  obj-$(CONFIG_NET_SCH_DSMARK)	+= sch_dsmark.o
  obj-$(CONFIG_NET_SCH_SFQ)	+= sch_sfq.o
@@ -91,9 +94,10 @@ diff -Naur linux-2.6.21.5.orig/net/sched/Makefile linux-2.6.21.5/net/sched/Makef
  obj-$(CONFIG_NET_SCH_TBF)	+= sch_tbf.o
  obj-$(CONFIG_NET_SCH_TEQL)	+= sch_teql.o
  obj-$(CONFIG_NET_SCH_PRIO)	+= sch_prio.o
-diff -Naur linux-2.6.21.5.orig/net/sched/sch_esfq.c linux-2.6.21.5/net/sched/sch_esfq.c
---- linux-2.6.21.5.orig/net/sched/sch_esfq.c	1969-12-31 16:00:00.000000000 -0800
-+++ linux-2.6.21.5/net/sched/sch_esfq.c	2007-06-23 19:18:00.000000000 -0700
+Index: linux-2.6.23.17/net/sched/sch_esfq.c
+===================================================================
+--- /dev/null
++++ linux-2.6.23.17/net/sched/sch_esfq.c
 @@ -0,0 +1,702 @@
 +/*
 + * net/sched/sch_esfq.c	Extended Stochastic Fairness Queueing discipline.
diff --git a/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch b/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch
index b6b359174..123248927 100644
--- a/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/201-multiple_default_gateways.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/include/linux/rtnetlink.h
+Index: linux-2.6.23.17/include/linux/rtnetlink.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/rtnetlink.h	2007-09-21 16:23:53.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/rtnetlink.h	2007-09-21 16:24:04.000000000 +0800
-@@ -293,6 +293,8 @@
+--- linux-2.6.23.17.orig/include/linux/rtnetlink.h
++++ linux-2.6.23.17/include/linux/rtnetlink.h
+@@ -293,6 +293,8 @@ struct rtnexthop
  #define RTNH_F_DEAD		1	/* Nexthop is dead (used by multipath)	*/
  #define RTNH_F_PERVASIVE	2	/* Do recursive gateway lookup	*/
  #define RTNH_F_ONLINK		4	/* Gateway is forced on link	*/
@@ -11,11 +11,11 @@ Index: linux-2.6.23-rc6/include/linux/rtnetlink.h
  
  /* Macros to handle hexthops */
  
-Index: linux-2.6.23-rc6/include/net/flow.h
+Index: linux-2.6.23.17/include/net/flow.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/net/flow.h	2007-09-21 16:23:53.000000000 +0800
-+++ linux-2.6.23-rc6/include/net/flow.h	2007-09-21 16:24:04.000000000 +0800
-@@ -19,6 +19,8 @@
+--- linux-2.6.23.17.orig/include/net/flow.h
++++ linux-2.6.23.17/include/net/flow.h
+@@ -19,6 +19,8 @@ struct flowi {
  		struct {
  			__be32			daddr;
  			__be32			saddr;
@@ -24,7 +24,7 @@ Index: linux-2.6.23-rc6/include/net/flow.h
  			__u8			tos;
  			__u8			scope;
  		} ip4_u;
-@@ -43,6 +45,8 @@
+@@ -43,6 +45,8 @@ struct flowi {
  #define fl6_flowlabel	nl_u.ip6_u.flowlabel
  #define fl4_dst		nl_u.ip4_u.daddr
  #define fl4_src		nl_u.ip4_u.saddr
@@ -33,11 +33,11 @@ Index: linux-2.6.23-rc6/include/net/flow.h
  #define fl4_tos		nl_u.ip4_u.tos
  #define fl4_scope	nl_u.ip4_u.scope
  
-Index: linux-2.6.23-rc6/net/ipv4/route.c
+Index: linux-2.6.23.17/net/ipv4/route.c
 ===================================================================
---- linux-2.6.23-rc6.orig/net/ipv4/route.c	2007-09-21 16:23:53.000000000 +0800
-+++ linux-2.6.23-rc6/net/ipv4/route.c	2007-09-21 16:24:04.000000000 +0800
-@@ -1116,6 +1116,7 @@
+--- linux-2.6.23.17.orig/net/ipv4/route.c
++++ linux-2.6.23.17/net/ipv4/route.c
+@@ -1116,6 +1116,7 @@ void ip_rt_redirect(__be32 old_gw, __be3
  
  				/* Gateway is different ... */
  				rt->rt_gateway		= new_gw;
@@ -45,7 +45,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  
  				/* Redirect received -> path was valid */
  				dst_confirm(&rth->u.dst);
-@@ -1551,6 +1552,7 @@
+@@ -1551,6 +1552,7 @@ static int ip_route_input_mc(struct sk_b
  	rth->fl.fl4_tos	= tos;
  	rth->fl.mark    = skb->mark;
  	rth->fl.fl4_src	= saddr;
@@ -53,7 +53,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	rth->rt_src	= saddr;
  #ifdef CONFIG_NET_CLS_ROUTE
  	rth->u.dst.tclassid = itag;
-@@ -1561,6 +1563,7 @@
+@@ -1561,6 +1563,7 @@ static int ip_route_input_mc(struct sk_b
  	dev_hold(rth->u.dst.dev);
  	rth->idev	= in_dev_get(rth->u.dst.dev);
  	rth->fl.oif	= 0;
@@ -61,7 +61,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	rth->rt_gateway	= daddr;
  	rth->rt_spec_dst= spec_dst;
  	rth->rt_type	= RTN_MULTICAST;
-@@ -1624,7 +1627,7 @@
+@@ -1624,7 +1627,7 @@ static void ip_handle_martian_source(str
  static inline int __mkroute_input(struct sk_buff *skb,
  				  struct fib_result* res,
  				  struct in_device *in_dev,
@@ -70,7 +70,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  				  struct rtable **result)
  {
  
-@@ -1659,6 +1662,7 @@
+@@ -1659,6 +1662,7 @@ static inline int __mkroute_input(struct
  		flags |= RTCF_DIRECTSRC;
  
  	if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) &&
@@ -78,7 +78,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	    (IN_DEV_SHARED_MEDIA(out_dev) ||
  	     inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
  		flags |= RTCF_DOREDIRECT;
-@@ -1692,6 +1696,7 @@
+@@ -1692,6 +1696,7 @@ static inline int __mkroute_input(struct
  	rth->fl.mark    = skb->mark;
  	rth->fl.fl4_src	= saddr;
  	rth->rt_src	= saddr;
@@ -86,7 +86,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	rth->rt_gateway	= daddr;
  	rth->rt_iif 	=
  		rth->fl.iif	= in_dev->dev->ifindex;
-@@ -1699,6 +1704,7 @@
+@@ -1699,6 +1704,7 @@ static inline int __mkroute_input(struct
  	dev_hold(rth->u.dst.dev);
  	rth->idev	= in_dev_get(rth->u.dst.dev);
  	rth->fl.oif 	= 0;
@@ -94,7 +94,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	rth->rt_spec_dst= spec_dst;
  
  	rth->u.dst.input = ip_forward;
-@@ -1720,19 +1726,21 @@
+@@ -1720,19 +1726,21 @@ static inline int ip_mkroute_input(struc
  				   struct fib_result* res,
  				   const struct flowi *fl,
  				   struct in_device *in_dev,
@@ -119,7 +119,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	if (err)
  		return err;
  
-@@ -1752,18 +1760,18 @@
+@@ -1752,18 +1760,18 @@ static inline int ip_mkroute_input(struc
   */
  
  static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
@@ -141,7 +141,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	unsigned	flags = 0;
  	u32		itag = 0;
  	struct rtable * rth;
-@@ -1796,6 +1804,12 @@
+@@ -1796,6 +1804,12 @@ static int ip_route_input_slow(struct sk
  	if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr))
  		goto martian_destination;
  
@@ -154,7 +154,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	/*
  	 *	Now we are ready to route packet.
  	 */
-@@ -1805,6 +1819,10 @@
+@@ -1805,6 +1819,10 @@ static int ip_route_input_slow(struct sk
  		goto no_route;
  	}
  	free_res = 1;
@@ -165,7 +165,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  
  	RT_CACHE_STAT_INC(in_slow_tot);
  
-@@ -1829,7 +1847,7 @@
+@@ -1829,7 +1847,7 @@ static int ip_route_input_slow(struct sk
  	if (res.type != RTN_UNICAST)
  		goto martian_destination;
  
@@ -174,7 +174,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	if (err == -ENOBUFS)
  		goto e_nobufs;
  	if (err == -EINVAL)
-@@ -1844,6 +1862,8 @@
+@@ -1844,6 +1862,8 @@ out:	return err;
  brd_input:
  	if (skb->protocol != htons(ETH_P_IP))
  		goto e_inval;
@@ -183,7 +183,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  
  	if (ZERONET(saddr))
  		spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
-@@ -1884,6 +1904,7 @@
+@@ -1884,6 +1904,7 @@ local_input:
  	rth->u.dst.dev	= &loopback_dev;
  	dev_hold(rth->u.dst.dev);
  	rth->idev	= in_dev_get(rth->u.dst.dev);
@@ -191,7 +191,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	rth->rt_gateway	= daddr;
  	rth->rt_spec_dst= spec_dst;
  	rth->u.dst.input= ip_local_deliver;
-@@ -1933,8 +1954,9 @@
+@@ -1933,8 +1954,9 @@ martian_source:
  	goto e_inval;
  }
  
@@ -203,7 +203,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  {
  	struct rtable * rth;
  	unsigned	hash;
-@@ -1949,6 +1971,7 @@
+@@ -1949,6 +1971,7 @@ int ip_route_input(struct sk_buff *skb, 
  		if (rth->fl.fl4_dst == daddr &&
  		    rth->fl.fl4_src == saddr &&
  		    rth->fl.iif == iif &&
@@ -211,7 +211,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  		    rth->fl.oif == 0 &&
  		    rth->fl.mark == skb->mark &&
  		    rth->fl.fl4_tos == tos) {
-@@ -1995,7 +2018,19 @@
+@@ -1995,7 +2018,19 @@ int ip_route_input(struct sk_buff *skb, 
  		rcu_read_unlock();
  		return -EINVAL;
  	}
@@ -232,7 +232,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  }
  
  static inline int __mkroute_output(struct rtable **result,
-@@ -2067,6 +2102,7 @@
+@@ -2067,6 +2102,7 @@ static inline int __mkroute_output(struc
  	rth->fl.fl4_tos	= tos;
  	rth->fl.fl4_src	= oldflp->fl4_src;
  	rth->fl.oif	= oldflp->oif;
@@ -240,7 +240,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  	rth->fl.mark    = oldflp->mark;
  	rth->rt_dst	= fl->fl4_dst;
  	rth->rt_src	= fl->fl4_src;
-@@ -2145,6 +2181,7 @@
+@@ -2145,6 +2181,7 @@ static int ip_route_output_slow(struct r
  	struct flowi fl = { .nl_u = { .ip4_u =
  				      { .daddr = oldflp->fl4_dst,
  					.saddr = oldflp->fl4_src,
@@ -248,7 +248,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  					.tos = tos & IPTOS_RT_MASK,
  					.scope = ((tos & RTO_ONLINK) ?
  						  RT_SCOPE_LINK :
-@@ -2248,6 +2285,7 @@
+@@ -2248,6 +2285,7 @@ static int ip_route_output_slow(struct r
  		dev_out = &loopback_dev;
  		dev_hold(dev_out);
  		fl.oif = loopback_dev.ifindex;
@@ -256,7 +256,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  		res.type = RTN_LOCAL;
  		flags |= RTCF_LOCAL;
  		goto make_route;
-@@ -2255,7 +2293,7 @@
+@@ -2255,7 +2293,7 @@ static int ip_route_output_slow(struct r
  
  	if (fib_lookup(&fl, &res)) {
  		res.fi = NULL;
@@ -265,7 +265,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  			/* Apparently, routing tables are wrong. Assume,
  			   that the destination is on link.
  
-@@ -2295,6 +2333,7 @@
+@@ -2295,6 +2333,7 @@ static int ip_route_output_slow(struct r
  		dev_out = &loopback_dev;
  		dev_hold(dev_out);
  		fl.oif = dev_out->ifindex;
@@ -273,7 +273,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  		if (res.fi)
  			fib_info_put(res.fi);
  		res.fi = NULL;
-@@ -2302,13 +2341,12 @@
+@@ -2302,13 +2341,12 @@ static int ip_route_output_slow(struct r
  		goto make_route;
  	}
  
@@ -290,7 +290,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  
  	if (!fl.fl4_src)
  		fl.fl4_src = FIB_RES_PREFSRC(res);
-@@ -2345,6 +2383,7 @@
+@@ -2345,6 +2383,7 @@ int __ip_route_output_key(struct rtable 
  		    rth->fl.fl4_src == flp->fl4_src &&
  		    rth->fl.iif == 0 &&
  		    rth->fl.oif == flp->oif &&
@@ -298,7 +298,7 @@ Index: linux-2.6.23-rc6/net/ipv4/route.c
  		    rth->fl.mark == flp->mark &&
  		    !((rth->fl.fl4_tos ^ flp->fl4_tos) &
  			    (IPTOS_RT_MASK | RTO_ONLINK))) {
-@@ -3034,3 +3073,4 @@
+@@ -3030,3 +3069,4 @@ int __init ip_rt_init(void)
  EXPORT_SYMBOL(__ip_select_ident);
  EXPORT_SYMBOL(ip_route_input);
  EXPORT_SYMBOL(ip_route_output_key);
diff --git a/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch b/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch
index 994c03eb4..5c6755537 100644
--- a/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/202-mips-freestanding.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/arch/mips/Makefile
+Index: linux-2.6.23.17/arch/mips/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/arch/mips/Makefile	2007-09-21 16:23:53.000000000 +0800
-+++ linux-2.6.23-rc6/arch/mips/Makefile	2007-09-21 16:24:05.000000000 +0800
-@@ -565,6 +565,9 @@
+--- linux-2.6.23.17.orig/arch/mips/Makefile
++++ linux-2.6.23.17/arch/mips/Makefile
+@@ -565,6 +565,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
  cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
  load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch b/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch
index f1ffac636..b82c61041 100644
--- a/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/204-jffs2_eofdetect.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/fs/jffs2/build.c
+Index: linux-2.6.23.17/fs/jffs2/build.c
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/jffs2/build.c	2007-09-21 16:23:53.000000000 +0800
-+++ linux-2.6.23-rc6/fs/jffs2/build.c	2007-09-21 16:24:05.000000000 +0800
-@@ -105,6 +105,17 @@
+--- linux-2.6.23.17.orig/fs/jffs2/build.c
++++ linux-2.6.23.17/fs/jffs2/build.c
+@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct
  	dbg_fsbuild("scanned flash completely\n");
  	jffs2_dbg_dump_block_lists_nolock(c);
  
@@ -20,11 +20,11 @@ Index: linux-2.6.23-rc6/fs/jffs2/build.c
  	dbg_fsbuild("pass 1 starting\n");
  	c->flags |= JFFS2_SB_FLAG_BUILDING;
  	/* Now scan the directory tree, increasing nlink according to every dirent found. */
-Index: linux-2.6.23-rc6/fs/jffs2/scan.c
+Index: linux-2.6.23.17/fs/jffs2/scan.c
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/jffs2/scan.c	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/fs/jffs2/scan.c	2007-09-21 16:24:05.000000000 +0800
-@@ -142,9 +142,12 @@
+--- linux-2.6.23.17.orig/fs/jffs2/scan.c
++++ linux-2.6.23.17/fs/jffs2/scan.c
+@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in
  
  		/* reset summary info for next eraseblock scan */
  		jffs2_sum_reset_collected(s);
@@ -40,7 +40,7 @@ Index: linux-2.6.23-rc6/fs/jffs2/scan.c
  
  		if (ret < 0)
  			goto out;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
  			return err;
  	}
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch b/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch
index 50062860d..08cda58c8 100644
--- a/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/207-powerpc_asm_segment_h.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/include/asm-powerpc/segment.h
+Index: linux-2.6.23.17/include/asm-powerpc/segment.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23-rc6/include/asm-powerpc/segment.h	2007-09-21 16:24:05.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/include/asm-powerpc/segment.h
 @@ -0,0 +1,6 @@
 +#ifndef _ASM_SEGMENT_H
 +#define _ASM_SEGMENT_H
diff --git a/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch b/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch
index 9bb3f2ccc..f68c468f5 100644
--- a/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/208-rtl8110sb_fix.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23/drivers/net/r8169.c
+Index: linux-2.6.23.17/drivers/net/r8169.c
 ===================================================================
---- linux-2.6.23.orig/drivers/net/r8169.c	2007-10-10 04:31:38.000000000 +0800
-+++ linux-2.6.23/drivers/net/r8169.c	2007-10-10 13:53:17.000000000 +0800
-@@ -1459,7 +1459,7 @@
+--- linux-2.6.23.17.orig/drivers/net/r8169.c
++++ linux-2.6.23.17/drivers/net/r8169.c
+@@ -1459,7 +1459,7 @@ static const struct rtl_cfg_info {
  		.hw_start	= rtl_hw_start_8169,
  		.region		= 1,
  		.align		= 0,
@@ -11,7 +11,7 @@ Index: linux-2.6.23/drivers/net/r8169.c
  				  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
  		.napi_event	= RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow
  	},
-@@ -1467,7 +1467,7 @@
+@@ -1467,7 +1467,7 @@ static const struct rtl_cfg_info {
  		.hw_start	= rtl_hw_start_8168,
  		.region		= 2,
  		.align		= 8,
@@ -20,7 +20,7 @@ Index: linux-2.6.23/drivers/net/r8169.c
  				  TxErr | TxOK | RxOK | RxErr,
  		.napi_event	= TxErr | TxOK | RxOK | RxOverflow
  	},
-@@ -1475,7 +1475,7 @@
+@@ -1475,7 +1475,7 @@ static const struct rtl_cfg_info {
  		.hw_start	= rtl_hw_start_8101,
  		.region		= 2,
  		.align		= 8,
@@ -29,7 +29,7 @@ Index: linux-2.6.23/drivers/net/r8169.c
  				  RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
  		.napi_event	= RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow
  	}
-@@ -2779,10 +2779,12 @@
+@@ -2779,10 +2779,12 @@ static irqreturn_t rtl8169_interrupt(int
  			break;
  		}
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch b/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch
index e99e84590..6a55ac80f 100644
--- a/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/209-mini_fo.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23/fs/Kconfig
+Index: linux-2.6.23.17/fs/Kconfig
 ===================================================================
---- linux-2.6.23.orig/fs/Kconfig	2007-10-10 13:52:14.000000000 +0800
-+++ linux-2.6.23/fs/Kconfig	2007-10-10 13:53:23.000000000 +0800
-@@ -458,6 +458,9 @@
+--- linux-2.6.23.17.orig/fs/Kconfig
++++ linux-2.6.23.17/fs/Kconfig
+@@ -458,6 +458,9 @@ config OCFS2_DEBUG_MASKLOG
  	  This option will enlarge your kernel, but it allows debugging of
  	  ocfs2 filesystem issues.
  
@@ -12,11 +12,11 @@ Index: linux-2.6.23/fs/Kconfig
  config MINIX_FS
  	tristate "Minix fs support"
  	help
-Index: linux-2.6.23/fs/Makefile
+Index: linux-2.6.23.17/fs/Makefile
 ===================================================================
---- linux-2.6.23.orig/fs/Makefile	2007-10-10 13:52:14.000000000 +0800
-+++ linux-2.6.23/fs/Makefile	2007-10-10 13:53:23.000000000 +0800
-@@ -76,6 +76,7 @@
+--- linux-2.6.23.17.orig/fs/Makefile
++++ linux-2.6.23.17/fs/Makefile
+@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS)		+= squashfs/
  obj-$(CONFIG_RAMFS)		+= ramfs/
  obj-$(CONFIG_HUGETLBFS)		+= hugetlbfs/
  obj-$(CONFIG_CODA_FS)		+= coda/
@@ -24,10 +24,10 @@ Index: linux-2.6.23/fs/Makefile
  obj-$(CONFIG_MINIX_FS)		+= minix/
  obj-$(CONFIG_FAT_FS)		+= fat/
  obj-$(CONFIG_MSDOS_FS)		+= msdos/
-Index: linux-2.6.23/fs/mini_fo/aux.c
+Index: linux-2.6.23.17/fs/mini_fo/aux.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/aux.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/aux.c
 @@ -0,0 +1,577 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -606,10 +606,10 @@ Index: linux-2.6.23/fs/mini_fo/aux.c
 +
 +#endif /* unused */
 +
-Index: linux-2.6.23/fs/mini_fo/ChangeLog
+Index: linux-2.6.23.17/fs/mini_fo/ChangeLog
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/ChangeLog	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/ChangeLog
 @@ -0,0 +1,281 @@
 +2006-01-24  Markus Klotzbuecher  <mk@mary.denx.de>
 +
@@ -892,10 +892,10 @@ Index: linux-2.6.23/fs/mini_fo/ChangeLog
 +	* Implementation of mini_fo_mknod and mini_fo_rename, support
 +          for device files.
 +	
-Index: linux-2.6.23/fs/mini_fo/dentry.c
+Index: linux-2.6.23.17/fs/mini_fo/dentry.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/dentry.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/dentry.c
 @@ -0,0 +1,244 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -1141,10 +1141,10 @@ Index: linux-2.6.23/fs/mini_fo/dentry.c
 +	d_delete:		mini_fo_d_delete,
 +	d_iput:		mini_fo_d_iput,
 +};
-Index: linux-2.6.23/fs/mini_fo/file.c
+Index: linux-2.6.23.17/fs/mini_fo/file.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/file.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/file.c
 @@ -0,0 +1,713 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -1859,10 +1859,10 @@ Index: linux-2.6.23/fs/mini_fo/file.c
 +		/* not implemented: sendpage */
 +		/* not implemented: get_unmapped_area */
 +	};
-Index: linux-2.6.23/fs/mini_fo/fist.h
+Index: linux-2.6.23.17/fs/mini_fo/fist.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/fist.h	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/fist.h
 @@ -0,0 +1,252 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -2116,10 +2116,10 @@ Index: linux-2.6.23/fs/mini_fo/fist.h
 +# define FIST_IOCTL_SET_DEBUG_VALUE	_IOW(0x15, 2, int)
 +
 +#endif /* not __FIST_H_ */
-Index: linux-2.6.23/fs/mini_fo/inode.c
+Index: linux-2.6.23.17/fs/mini_fo/inode.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/inode.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/inode.c
 @@ -0,0 +1,1564 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -3685,10 +3685,10 @@ Index: linux-2.6.23/fs/mini_fo/inode.c
 +		removexattr:    mini_fo_removexattr
 +# endif /* XATTR && LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) */
 +	};
-Index: linux-2.6.23/fs/mini_fo/main.c
+Index: linux-2.6.23.17/fs/mini_fo/main.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/main.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/main.c
 @@ -0,0 +1,423 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -4113,10 +4113,10 @@ Index: linux-2.6.23/fs/mini_fo/main.c
 +
 +module_init(init_mini_fo_fs)
 +module_exit(exit_mini_fo_fs)
-Index: linux-2.6.23/fs/mini_fo/Makefile
+Index: linux-2.6.23.17/fs/mini_fo/Makefile
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/Makefile	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/Makefile
 @@ -0,0 +1,17 @@
 +#
 +# Makefile for mini_fo 2.4 and 2.6 Linux kernels
@@ -4135,10 +4135,10 @@ Index: linux-2.6.23/fs/mini_fo/Makefile
 +# dependencies
 +${mini_fo-objs}: mini_fo.h fist.h
 +
-Index: linux-2.6.23/fs/mini_fo/meta.c
+Index: linux-2.6.23.17/fs/mini_fo/meta.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/meta.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/meta.c
 @@ -0,0 +1,1000 @@
 +/*
 + * Copyright (C) 2004, 2005 Markus Klotzbuecher <mk@creamnet.de>
@@ -5140,10 +5140,10 @@ Index: linux-2.6.23/fs/mini_fo/meta.c
 +	return 0;
 +}
 +
-Index: linux-2.6.23/fs/mini_fo/mini_fo.h
+Index: linux-2.6.23.17/fs/mini_fo/mini_fo.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/mini_fo.h	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/mini_fo.h
 @@ -0,0 +1,510 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -5655,10 +5655,10 @@ Index: linux-2.6.23/fs/mini_fo/mini_fo.h
 +/* ioctls */
 +
 +#endif	/* not __MINI_FO_H_ */
-Index: linux-2.6.23/fs/mini_fo/mini_fo-merge
+Index: linux-2.6.23.17/fs/mini_fo/mini_fo-merge
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/mini_fo-merge	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/mini_fo-merge
 @@ -0,0 +1,180 @@
 +#!/bin/bash
 +#
@@ -5840,10 +5840,10 @@ Index: linux-2.6.23/fs/mini_fo/mini_fo-merge
 +#rm $TMP/$SKIP_DEL_LIST 
 +
 +echo "Done!"
-Index: linux-2.6.23/fs/mini_fo/mini_fo-overlay
+Index: linux-2.6.23.17/fs/mini_fo/mini_fo-overlay
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/mini_fo-overlay	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/mini_fo-overlay
 @@ -0,0 +1,130 @@
 +#!/bin/bash
 +#
@@ -5975,10 +5975,10 @@ Index: linux-2.6.23/fs/mini_fo/mini_fo-overlay
 +if [ $? -ne 0 ]; then
 +    echo "Error, mounting failed, maybe no permisson to mount?"
 +fi
-Index: linux-2.6.23/fs/mini_fo/mmap.c
+Index: linux-2.6.23.17/fs/mini_fo/mmap.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/mmap.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/mmap.c
 @@ -0,0 +1,637 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
@@ -6617,10 +6617,10 @@ Index: linux-2.6.23/fs/mini_fo/mmap.c
 +	print_exit_status(err);
 +	return err;
 +}
-Index: linux-2.6.23/fs/mini_fo/README
+Index: linux-2.6.23.17/fs/mini_fo/README
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/README	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/README
 @@ -0,0 +1,163 @@
 +README for the mini_fo overlay file system
 +=========================================
@@ -6785,10 +6785,10 @@ Index: linux-2.6.23/fs/mini_fo/README
 +2 of the License, or (at your option) any later version.
 +
 +
-Index: linux-2.6.23/fs/mini_fo/RELEASE_NOTES
+Index: linux-2.6.23.17/fs/mini_fo/RELEASE_NOTES
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/RELEASE_NOTES	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/RELEASE_NOTES
 @@ -0,0 +1,111 @@
 +Release:	mini_fo-0.6.1 (v0-6-1)
 +Date:		21.09.2005
@@ -6901,10 +6901,10 @@ Index: linux-2.6.23/fs/mini_fo/RELEASE_NOTES
 +original state. I hope to fix this someday. Please note that this does
 +not effect the special hard links '.' and '..', that are handled
 +seperately by the lower fs.
-Index: linux-2.6.23/fs/mini_fo/state.c
+Index: linux-2.6.23.17/fs/mini_fo/state.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/state.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/state.c
 @@ -0,0 +1,620 @@
 +/*
 + * Copyright (C) 2005 Markus Klotzbuecher <mk@creamnet.de>
@@ -7526,10 +7526,10 @@ Index: linux-2.6.23/fs/mini_fo/state.c
 +	return err;
 +}
 +
-Index: linux-2.6.23/fs/mini_fo/super.c
+Index: linux-2.6.23.17/fs/mini_fo/super.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/fs/mini_fo/super.c	2007-10-10 13:53:23.000000000 +0800
+--- /dev/null
++++ linux-2.6.23.17/fs/mini_fo/super.c
 @@ -0,0 +1,281 @@
 +/*
 + * Copyright (c) 1997-2003 Erez Zadok
diff --git a/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch b/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch
index 598c9ccba..6db9d7e7a 100644
--- a/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/210-mac80211_include_wireless_dev.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/include/linux/ieee80211.h
+Index: linux-2.6.23.17/include/linux/ieee80211.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/ieee80211.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/ieee80211.h	2007-09-21 16:24:07.000000000 +0800
-@@ -106,6 +106,75 @@
+--- linux-2.6.23.17.orig/include/linux/ieee80211.h
++++ linux-2.6.23.17/include/linux/ieee80211.h
+@@ -106,6 +106,75 @@ struct ieee80211_hdr {
  } __attribute__ ((packed));
  
  
@@ -78,7 +78,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  struct ieee80211_mgmt {
  	__le16 frame_control;
  	__le16 duration;
-@@ -173,9 +242,51 @@
+@@ -173,9 +242,51 @@ struct ieee80211_mgmt {
  				struct {
  					u8 action_code;
  					u8 dialog_token;
@@ -130,7 +130,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  				struct{
  					u8 action_code;
  					u8 element_id;
-@@ -184,6 +295,25 @@
+@@ -184,6 +295,25 @@ struct ieee80211_mgmt {
  					u8 new_chan;
  					u8 switch_count;
  				} __attribute__((packed)) chan_switch;
@@ -156,7 +156,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  			} u;
  		} __attribute__ ((packed)) action;
  	} u;
-@@ -270,6 +400,18 @@
+@@ -270,6 +400,18 @@ enum ieee80211_statuscode {
  	WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
  	WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
  	WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
@@ -175,7 +175,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  };
  
  
-@@ -300,9 +442,50 @@
+@@ -300,9 +442,50 @@ enum ieee80211_reasoncode {
  	WLAN_REASON_INVALID_RSN_IE_CAP = 22,
  	WLAN_REASON_IEEE8021X_FAILED = 23,
  	WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
@@ -226,7 +226,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  /* Information Element IDs */
  enum ieee80211_eid {
  	WLAN_EID_SSID = 0,
-@@ -318,6 +501,15 @@
+@@ -318,6 +501,15 @@ enum ieee80211_eid {
  	WLAN_EID_HP_PARAMS = 8,
  	WLAN_EID_HP_TABLE = 9,
  	WLAN_EID_REQUEST = 10,
@@ -242,7 +242,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  	/* 802.11h */
  	WLAN_EID_PWR_CONSTRAINT = 32,
  	WLAN_EID_PWR_CAPABILITY = 33,
-@@ -332,6 +524,9 @@
+@@ -332,6 +524,9 @@ enum ieee80211_eid {
  	/* 802.11g */
  	WLAN_EID_ERP_INFO = 42,
  	WLAN_EID_EXT_SUPP_RATES = 50,
@@ -252,7 +252,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  	/* 802.11i */
  	WLAN_EID_RSN = 48,
  	WLAN_EID_WPA = 221,
-@@ -340,6 +535,9 @@
+@@ -340,6 +535,9 @@ enum ieee80211_eid {
  	WLAN_EID_QOS_PARAMETER = 222
  };
  
@@ -262,7 +262,7 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
  /* cipher suite selectors */
  #define WLAN_CIPHER_SUITE_USE_GROUP	0x000FAC00
  #define WLAN_CIPHER_SUITE_WEP40		0x000FAC01
-@@ -350,4 +548,37 @@
+@@ -350,4 +548,37 @@ enum ieee80211_eid {
  
  #define WLAN_MAX_KEY_LEN		32
  
@@ -300,10 +300,10 @@ Index: linux-2.6.23-rc6/include/linux/ieee80211.h
 +};
 +
  #endif /* IEEE80211_H */
-Index: linux-2.6.23-rc6/include/linux/nl80211.h
+Index: linux-2.6.23.17/include/linux/nl80211.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/nl80211.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/nl80211.h	2007-09-21 16:24:07.000000000 +0800
+--- linux-2.6.23.17.orig/include/linux/nl80211.h
++++ linux-2.6.23.17/include/linux/nl80211.h
 @@ -7,6 +7,217 @@
   */
  
@@ -522,7 +522,7 @@ Index: linux-2.6.23-rc6/include/linux/nl80211.h
   * enum nl80211_iftype - (virtual) interface types
   * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
   * @NL80211_IFTYPE_ADHOC: independent BSS member
-@@ -35,4 +246,56 @@
+@@ -35,4 +246,56 @@ enum nl80211_iftype {
  };
  #define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1)
  
@@ -579,10 +579,10 @@ Index: linux-2.6.23-rc6/include/linux/nl80211.h
 +#define NL80211_KEYTYPE_MAX (__NL80211_KEYTYPE_AFTER_LAST - 1)
 +
  #endif /* __LINUX_NL80211_H */
-Index: linux-2.6.23-rc6/include/net/cfg80211.h
+Index: linux-2.6.23.17/include/net/cfg80211.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/net/cfg80211.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/net/cfg80211.h	2007-09-21 16:24:07.000000000 +0800
+--- linux-2.6.23.17.orig/include/net/cfg80211.h
++++ linux-2.6.23.17/include/net/cfg80211.h
 @@ -3,6 +3,7 @@
  
  #include <linux/netlink.h>
@@ -591,7 +591,7 @@ Index: linux-2.6.23-rc6/include/net/cfg80211.h
  #include <net/genetlink.h>
  
  /*
-@@ -49,6 +50,69 @@
+@@ -49,6 +50,69 @@ extern int ieee80211_radiotap_iterator_n
     struct ieee80211_radiotap_iterator *iterator);
  
  
@@ -661,7 +661,7 @@ Index: linux-2.6.23-rc6/include/net/cfg80211.h
  /* from net/wireless.h */
  struct wiphy;
  
-@@ -68,11 +132,62 @@
+@@ -68,11 +132,62 @@ struct wiphy;
   * @add_virtual_intf: create a new virtual interface with the given name
   *
   * @del_virtual_intf: remove the virtual interface determined by ifindex.
@@ -725,11 +725,11 @@ Index: linux-2.6.23-rc6/include/net/cfg80211.h
 +			    u32 seq, int flags, u8 cmd);
 +
  #endif /* __NET_CFG80211_H */
-Index: linux-2.6.23-rc6/include/net/iw_handler.h
+Index: linux-2.6.23.17/include/net/iw_handler.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/net/iw_handler.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/net/iw_handler.h	2007-09-21 16:24:07.000000000 +0800
-@@ -431,7 +431,13 @@
+--- linux-2.6.23.17.orig/include/net/iw_handler.h
++++ linux-2.6.23.17/include/net/iw_handler.h
+@@ -431,7 +431,13 @@ struct iw_public_data {
   * Those may be called only within the kernel.
   */
  
@@ -744,11 +744,11 @@ Index: linux-2.6.23-rc6/include/net/iw_handler.h
  
  /* Send a single event to user space */
  extern void wireless_send_event(struct net_device *	dev,
-Index: linux-2.6.23-rc6/include/net/mac80211.h
+Index: linux-2.6.23.17/include/net/mac80211.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/net/mac80211.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/net/mac80211.h	2007-09-21 16:24:07.000000000 +0800
-@@ -300,7 +300,6 @@
+--- linux-2.6.23.17.orig/include/net/mac80211.h
++++ linux-2.6.23.17/include/net/mac80211.h
+@@ -300,7 +300,6 @@ struct ieee80211_conf {
  	/* Following five fields are used for IEEE 802.11H */
  	unsigned int radar_detect;
  	unsigned int spect_mgmt;
@@ -756,7 +756,7 @@ Index: linux-2.6.23-rc6/include/net/mac80211.h
  	unsigned int quiet_duration; /* duration of quiet period */
  	unsigned int quiet_offset; /* how far into the beacon is the quiet
  				    * period */
-@@ -521,6 +520,9 @@
+@@ -521,6 +520,9 @@ struct ieee80211_hw {
  	 * per-packet RC4 key with each TX frame when doing hwcrypto */
  #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
  
@@ -766,7 +766,7 @@ Index: linux-2.6.23-rc6/include/net/mac80211.h
  	u32 flags;			/* hardware flags defined above */
  
  	/* Set to the size of a needed device specific skb headroom for TX skbs. */
-@@ -649,8 +651,7 @@
+@@ -649,8 +651,7 @@ struct ieee80211_ops {
  	 * used if the wlan hardware or low-level driver implements PAE.
  	 * 80211.o module will anyway filter frames based on authorization
  	 * state, so this function pointer can be NULL if low-level driver does
@@ -776,7 +776,7 @@ Index: linux-2.6.23-rc6/include/net/mac80211.h
  	int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr,
  			     int authorized);
  
-@@ -702,8 +703,9 @@
+@@ -702,8 +703,9 @@ struct ieee80211_ops {
  	/* Get statistics of the current TX queue status. This is used to get
  	 * number of currently queued packets (queue length), maximum queue
  	 * size (limit), and total number of packets sent using each TX queue
@@ -788,7 +788,7 @@ Index: linux-2.6.23-rc6/include/net/mac80211.h
  	int (*get_tx_stats)(struct ieee80211_hw *hw,
  			    struct ieee80211_tx_queue_stats *stats);
  
-@@ -713,12 +715,25 @@
+@@ -713,12 +715,25 @@ struct ieee80211_ops {
  	 * Must be atomic. */
  	u64 (*get_tsf)(struct ieee80211_hw *hw);
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch b/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch
index 4950af366..1a750c196 100644
--- a/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/213-kobject_uevent.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/lib/kobject_uevent.c
+Index: linux-2.6.23.17/lib/kobject_uevent.c
 ===================================================================
---- linux-2.6.23-rc6.orig/lib/kobject_uevent.c	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/lib/kobject_uevent.c	2007-09-21 16:24:07.000000000 +0800
-@@ -40,9 +40,22 @@
+--- linux-2.6.23.17.orig/lib/kobject_uevent.c
++++ linux-2.6.23.17/lib/kobject_uevent.c
+@@ -40,9 +40,22 @@ u64 uevent_seqnum;
  char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
  static DEFINE_SPINLOCK(sequence_lock);
  #if defined(CONFIG_NET)
@@ -26,7 +26,7 @@ Index: linux-2.6.23-rc6/lib/kobject_uevent.c
  /**
   * kobject_uevent_env - send an uevent with environmental data
   *
-@@ -159,9 +172,7 @@
+@@ -159,9 +172,7 @@ int kobject_uevent_env(struct kobject *k
  	}
  
  	/* we will send an event, request a new sequence number */
diff --git a/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch b/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch
index a7a48f262..9e196dd4d 100644
--- a/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/220-sound_kconfig.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.1/sound/core/Kconfig
+Index: linux-2.6.23.17/sound/core/Kconfig
 ===================================================================
---- linux-2.6.23.1.orig/sound/core/Kconfig	2007-11-25 18:14:23.486146184 +0100
-+++ linux-2.6.23.1/sound/core/Kconfig	2007-11-25 18:14:26.474316473 +0100
-@@ -9,7 +9,7 @@
+--- linux-2.6.23.17.orig/sound/core/Kconfig
++++ linux-2.6.23.17/sound/core/Kconfig
+@@ -9,7 +9,7 @@ config SND_PCM
  	depends on SND
  
  config SND_HWDEP
diff --git a/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch b/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch
index 52aa586fc..a580df0c1 100644
--- a/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/230-pps_support.patch
@@ -1,8 +1,7 @@
-diff --git a/Documentation/pps/Makefile b/Documentation/pps/Makefile
-new file mode 100644
-index 0000000..a2660a2
+Index: linux-2.6.23.17/Documentation/pps/Makefile
+===================================================================
 --- /dev/null
-+++ b/Documentation/pps/Makefile
++++ linux-2.6.23.17/Documentation/pps/Makefile
 @@ -0,0 +1,27 @@
 +TARGETS = ppstest ppsctl
 +
@@ -31,11 +30,10 @@ index 0000000..a2660a2
 +clean :
 +	rm -f *.o *~ core .depend
 +	rm -f ${TARGETS}
-diff --git a/Documentation/pps/pps.txt b/Documentation/pps/pps.txt
-new file mode 100644
-index 0000000..9538925
+Index: linux-2.6.23.17/Documentation/pps/pps.txt
+===================================================================
 --- /dev/null
-+++ b/Documentation/pps/pps.txt
++++ linux-2.6.23.17/Documentation/pps/pps.txt
 @@ -0,0 +1,170 @@
 +
 +			PPS - Pulse Per Second
@@ -207,11 +205,10 @@ index 0000000..9538925
 +
 +Please, note that to compile userland programs you need the file timepps.h
 +(see Documentation/pps/).
-diff --git a/Documentation/pps/ppsctl.c b/Documentation/pps/ppsctl.c
-new file mode 100644
-index 0000000..83fd08a
+Index: linux-2.6.23.17/Documentation/pps/ppsctl.c
+===================================================================
 --- /dev/null
-+++ b/Documentation/pps/ppsctl.c
++++ linux-2.6.23.17/Documentation/pps/ppsctl.c
 @@ -0,0 +1,62 @@
 +#include <stdio.h>
 +#include <unistd.h>
@@ -275,11 +272,10 @@ index 0000000..83fd08a
 +
 +	return 0;
 +}
-diff --git a/Documentation/pps/ppsfind b/Documentation/pps/ppsfind
-new file mode 100755
-index 0000000..93c0e17
+Index: linux-2.6.23.17/Documentation/pps/ppsfind
+===================================================================
 --- /dev/null
-+++ b/Documentation/pps/ppsfind
++++ linux-2.6.23.17/Documentation/pps/ppsfind
 @@ -0,0 +1,17 @@
 +#!/bin/sh
 +
@@ -298,11 +294,10 @@ index 0000000..93c0e17
 +done
 +
 +exit 0
-diff --git a/Documentation/pps/ppstest.c b/Documentation/pps/ppstest.c
-new file mode 100644
-index 0000000..d125ffa
+Index: linux-2.6.23.17/Documentation/pps/ppstest.c
+===================================================================
 --- /dev/null
-+++ b/Documentation/pps/ppstest.c
++++ linux-2.6.23.17/Documentation/pps/ppstest.c
 @@ -0,0 +1,151 @@
 +#include <stdio.h>
 +#include <stdlib.h>
@@ -455,11 +450,10 @@ index 0000000..d125ffa
 +
 +	return 0;
 +}
-diff --git a/Documentation/pps/timepps.h b/Documentation/pps/timepps.h
-new file mode 100644
-index 0000000..28ebf4c
+Index: linux-2.6.23.17/Documentation/pps/timepps.h
+===================================================================
 --- /dev/null
-+++ b/Documentation/pps/timepps.h
++++ linux-2.6.23.17/Documentation/pps/timepps.h
 @@ -0,0 +1,193 @@
 +/*
 + * timepps.h -- PPS API main header
@@ -654,10 +648,10 @@ index 0000000..28ebf4c
 +}
 +
 +#endif				/* _SYS_TIMEPPS_H_ */
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 9a91d9e..f45e974 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
+Index: linux-2.6.23.17/MAINTAINERS
+===================================================================
+--- linux-2.6.23.17.orig/MAINTAINERS
++++ linux-2.6.23.17/MAINTAINERS
 @@ -3011,6 +3011,13 @@ P:	James Chapman
  M:	jchapman@katalix.com
  S:	Maintained
@@ -672,10 +666,10 @@ index 9a91d9e..f45e974 100644
  PREEMPTIBLE KERNEL
  P:	Robert Love
  M:	rml@tech9.net
-diff --git a/drivers/Kconfig b/drivers/Kconfig
-index 3e1c442..bffc48e 100644
---- a/drivers/Kconfig
-+++ b/drivers/Kconfig
+Index: linux-2.6.23.17/drivers/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/drivers/Kconfig
++++ linux-2.6.23.17/drivers/Kconfig
 @@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
  
  source "drivers/spi/Kconfig"
@@ -685,10 +679,10 @@ index 3e1c442..bffc48e 100644
  source "drivers/w1/Kconfig"
  
  source "drivers/power/Kconfig"
-diff --git a/drivers/Makefile b/drivers/Makefile
-index f0878b2..2e84e49 100644
---- a/drivers/Makefile
-+++ b/drivers/Makefile
+Index: linux-2.6.23.17/drivers/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/drivers/Makefile
++++ linux-2.6.23.17/drivers/Makefile
 @@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT)		+= input/
  obj-$(CONFIG_I2O)		+= message/
  obj-$(CONFIG_RTC_LIB)		+= rtc/
@@ -697,10 +691,10 @@ index f0878b2..2e84e49 100644
  obj-$(CONFIG_W1)		+= w1/
  obj-$(CONFIG_POWER_SUPPLY)	+= power/
  obj-$(CONFIG_HWMON)		+= hwmon/
-diff --git a/drivers/char/lp.c b/drivers/char/lp.c
-index 62051f8..e0a8364 100644
---- a/drivers/char/lp.c
-+++ b/drivers/char/lp.c
+Index: linux-2.6.23.17/drivers/char/lp.c
+===================================================================
+--- linux-2.6.23.17.orig/drivers/char/lp.c
++++ linux-2.6.23.17/drivers/char/lp.c
 @@ -746,6 +746,27 @@ static struct console lpcons = {
  
  #endif /* console on line printer */
@@ -729,7 +723,7 @@ index 62051f8..e0a8364 100644
  /* --- initialisation code ------------------------------------- */
  
  static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC };
-@@ -817,6 +838,38 @@ static int lp_register(int nr, struct parport *port)
+@@ -817,6 +838,38 @@ static int lp_register(int nr, struct pa
  	}
  #endif
  
@@ -768,7 +762,7 @@ index 62051f8..e0a8364 100644
  	return 0;
  }
  
-@@ -860,6 +913,14 @@ static void lp_detach (struct parport *port)
+@@ -860,6 +913,14 @@ static void lp_detach (struct parport *p
  		console_registered = NULL;
  	}
  #endif /* CONFIG_LP_CONSOLE */
@@ -783,11 +777,10 @@ index 62051f8..e0a8364 100644
  }
  
  static struct parport_driver lp_driver = {
-diff --git a/drivers/pps/Kconfig b/drivers/pps/Kconfig
-new file mode 100644
-index 0000000..bfe6621
+Index: linux-2.6.23.17/drivers/pps/Kconfig
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/Kconfig
++++ linux-2.6.23.17/drivers/pps/Kconfig
 @@ -0,0 +1,34 @@
 +#
 +# PPS support configuration
@@ -823,11 +816,10 @@ index 0000000..bfe6621
 +source drivers/pps/clients/Kconfig
 +
 +endmenu
-diff --git a/drivers/pps/Makefile b/drivers/pps/Makefile
-new file mode 100644
-index 0000000..d8ec308
+Index: linux-2.6.23.17/drivers/pps/Makefile
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/Makefile
++++ linux-2.6.23.17/drivers/pps/Makefile
 @@ -0,0 +1,11 @@
 +#
 +# Makefile for the PPS core.
@@ -840,11 +832,10 @@ index 0000000..d8ec308
 +ifeq ($(CONFIG_PPS_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
-diff --git a/drivers/pps/clients/Kconfig b/drivers/pps/clients/Kconfig
-new file mode 100644
-index 0000000..09ba5c3
+Index: linux-2.6.23.17/drivers/pps/clients/Kconfig
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/clients/Kconfig
++++ linux-2.6.23.17/drivers/pps/clients/Kconfig
 @@ -0,0 +1,38 @@
 +#
 +# PPS clients configuration
@@ -884,11 +875,10 @@ index 0000000..09ba5c3
 +	  with the interrupt pin of your parallel port.
 +
 +endif
-diff --git a/drivers/pps/clients/Makefile b/drivers/pps/clients/Makefile
-new file mode 100644
-index 0000000..f3c1e39
+Index: linux-2.6.23.17/drivers/pps/clients/Makefile
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/clients/Makefile
++++ linux-2.6.23.17/drivers/pps/clients/Makefile
 @@ -0,0 +1,9 @@
 +#
 +# Makefile for PPS clients.
@@ -899,11 +889,10 @@ index 0000000..f3c1e39
 +ifeq ($(CONFIG_PPS_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
-diff --git a/drivers/pps/clients/ktimer.c b/drivers/pps/clients/ktimer.c
-new file mode 100644
-index 0000000..4d613ab
+Index: linux-2.6.23.17/drivers/pps/clients/ktimer.c
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/clients/ktimer.c
++++ linux-2.6.23.17/drivers/pps/clients/ktimer.c
 @@ -0,0 +1,114 @@
 +/*
 + * ktimer.c -- kernel timer test client
@@ -1019,11 +1008,10 @@ index 0000000..4d613ab
 +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 +MODULE_DESCRIPTION("dummy PPS source by using a kernel timer (just for debug)");
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/pps/kapi.c b/drivers/pps/kapi.c
-new file mode 100644
-index 0000000..67290d5
+Index: linux-2.6.23.17/drivers/pps/kapi.c
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/kapi.c
++++ linux-2.6.23.17/drivers/pps/kapi.c
 @@ -0,0 +1,271 @@
 +/*
 + * kapi.c -- kernel API
@@ -1296,11 +1284,10 @@ index 0000000..67290d5
 +	spin_unlock_irqrestore(&idr_lock, flags);
 +}
 +EXPORT_SYMBOL(pps_event);
-diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
-new file mode 100644
-index 0000000..52de2f1
+Index: linux-2.6.23.17/drivers/pps/pps.c
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/pps.c
++++ linux-2.6.23.17/drivers/pps/pps.c
 @@ -0,0 +1,332 @@
 +/*
 + * pps.c -- Main PPS support file
@@ -1634,11 +1621,10 @@ index 0000000..52de2f1
 +MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 +MODULE_DESCRIPTION("LinuxPPS support (RFC 2783) - ver. " PPS_VERSION);
 +MODULE_LICENSE("GPL");
-diff --git a/drivers/pps/sysfs.c b/drivers/pps/sysfs.c
-new file mode 100644
-index 0000000..8541be7
+Index: linux-2.6.23.17/drivers/pps/sysfs.c
+===================================================================
 --- /dev/null
-+++ b/drivers/pps/sysfs.c
++++ linux-2.6.23.17/drivers/pps/sysfs.c
 @@ -0,0 +1,124 @@
 +/*
 + * sysfs.c -- sysfs support
@@ -1764,11 +1750,11 @@ index 0000000..8541be7
 +
 +	return 0;
 +}
-diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
-index f94109c..a5e83f8 100644
---- a/drivers/serial/8250.c
-+++ b/drivers/serial/8250.c
-@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port *port, struct ktermios *termios,
+Index: linux-2.6.23.17/drivers/serial/8250.c
+===================================================================
+--- linux-2.6.23.17.orig/drivers/serial/8250.c
++++ linux-2.6.23.17/drivers/serial/8250.c
+@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port 
  		up->ier |= UART_IER_MSI;
  	if (up->capabilities & UART_CAP_UUE)
  		up->ier |= UART_IER_UUE | UART_IER_RTOIE;
@@ -1777,10 +1763,10 @@ index f94109c..a5e83f8 100644
  
  	serial_out(up, UART_IER, up->ier);
  
-diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
-index a055f58..a40b87c 100644
---- a/drivers/serial/serial_core.c
-+++ b/drivers/serial/serial_core.c
+Index: linux-2.6.23.17/drivers/serial/serial_core.c
+===================================================================
+--- linux-2.6.23.17.orig/drivers/serial/serial_core.c
++++ linux-2.6.23.17/drivers/serial/serial_core.c
 @@ -33,6 +33,7 @@
  #include <linux/serial.h> /* for serial_state and serial_icounter_struct */
  #include <linux/delay.h>
@@ -1789,7 +1775,7 @@ index a055f58..a40b87c 100644
  
  #include <asm/irq.h>
  #include <asm/uaccess.h>
-@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_state *state,
+@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_sta
  	return 0;
  }
  
@@ -1844,7 +1830,7 @@ index a055f58..a40b87c 100644
  static int uart_set_info(struct uart_state *state,
  			 struct serial_struct __user *newinfo)
  {
-@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_state *state,
+@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_sta
  			(port->flags & UPF_LOW_LATENCY) ? 1 : 0;
  
   check_and_exit:
@@ -1865,7 +1851,7 @@ index a055f58..a40b87c 100644
  		    old_custom_divisor != port->custom_divisor) {
  			/*
  			 * If they're setting up a custom divisor or speed,
-@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver *drv, struct uart_state *state,
+@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver *
  		port->ops->config_port(port, flags);
  	}
  
@@ -1878,7 +1864,7 @@ index a055f58..a40b87c 100644
  	if (port->type != PORT_UNKNOWN) {
  		unsigned long flags;
  
-@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_driver *drv, struct uart_port *port)
+@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_dri
  	mutex_unlock(&state->mutex);
  
  	/*
@@ -1891,10 +1877,10 @@ index a055f58..a40b87c 100644
  	 * Remove the devices from the tty layer
  	 */
  	tty_unregister_device(drv->tty_driver, port->line);
-diff --git a/include/linux/Kbuild b/include/linux/Kbuild
-index 818cc3a..0a9394f 100644
---- a/include/linux/Kbuild
-+++ b/include/linux/Kbuild
+Index: linux-2.6.23.17/include/linux/Kbuild
+===================================================================
+--- linux-2.6.23.17.orig/include/linux/Kbuild
++++ linux-2.6.23.17/include/linux/Kbuild
 @@ -295,6 +295,7 @@ unifdef-y += pmu.h
  unifdef-y += poll.h
  unifdef-y += ppp_defs.h
@@ -1903,10 +1889,10 @@ index 818cc3a..0a9394f 100644
  unifdef-y += ptrace.h
  unifdef-y += qnx4_fs.h
  unifdef-y += quota.h
-diff --git a/include/linux/parport.h b/include/linux/parport.h
-index 9cdd694..549de6e 100644
---- a/include/linux/parport.h
-+++ b/include/linux/parport.h
+Index: linux-2.6.23.17/include/linux/parport.h
+===================================================================
+--- linux-2.6.23.17.orig/include/linux/parport.h
++++ linux-2.6.23.17/include/linux/parport.h
 @@ -100,6 +100,7 @@ typedef enum {
  #include <linux/proc_fs.h>
  #include <linux/spinlock.h>
@@ -1927,7 +1913,7 @@ index 9cdd694..549de6e 100644
  };
  
  #define DEFAULT_SPIN_TIME 500 /* us */
-@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct parport *port, int daisy, int mode);
+@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct 
  /* Lowlevel drivers _can_ call this support function to handle irqs.  */
  static __inline__ void parport_generic_irq(int irq, struct parport *port)
  {
@@ -1940,11 +1926,10 @@ index 9cdd694..549de6e 100644
  	parport_ieee1284_interrupt (irq, port);
  	read_lock(&port->cad_lock);
  	if (port->cad && port->cad->irq_func)
-diff --git a/include/linux/pps.h b/include/linux/pps.h
-new file mode 100644
-index 0000000..5bdb593
+Index: linux-2.6.23.17/include/linux/pps.h
+===================================================================
 --- /dev/null
-+++ b/include/linux/pps.h
++++ linux-2.6.23.17/include/linux/pps.h
 @@ -0,0 +1,196 @@
 +/*
 + * pps.h -- PPS API kernel header.
@@ -2142,10 +2127,10 @@ index 0000000..5bdb593
 +#endif /* __KERNEL__ */
 +
 +#endif /* _PPS_H_ */
-diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
-index 09d17b0..f9aefad 100644
---- a/include/linux/serial_core.h
-+++ b/include/linux/serial_core.h
+Index: linux-2.6.23.17/include/linux/serial_core.h
+===================================================================
+--- linux-2.6.23.17.orig/include/linux/serial_core.h
++++ linux-2.6.23.17/include/linux/serial_core.h
 @@ -157,6 +157,7 @@
  #include <linux/tty.h>
  #include <linux/mutex.h>
@@ -2185,7 +2170,7 @@ index 09d17b0..f9aefad 100644
  	struct mutex		mutex;
  };
  
-@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port *port, unsigned int status)
+@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port 
  {
  	struct uart_info *info = port->info;
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch b/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch
index f02f1002c..33421042e 100644
--- a/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/300-add-mmc-spi-driver.patch
@@ -2,10 +2,10 @@ This is a port of the MMC-SPI driver from 2.6.24.3
 --mb
 
 
-Index: linux-2.6.23.16/drivers/mmc/host/Kconfig
+Index: linux-2.6.23.17/drivers/mmc/host/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/host/Kconfig	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/host/Kconfig	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/host/Kconfig
++++ linux-2.6.23.17/drivers/mmc/host/Kconfig
 @@ -100,3 +100,16 @@ config MMC_TIFM_SD
            To compile this driver as a module, choose M here: the
  	  module will be called tifm_sd.
@@ -23,20 +23,20 @@ Index: linux-2.6.23.16/drivers/mmc/host/Kconfig
 +
 +	  If unsure, or if your system has no SPI master driver, say N.
 +
-Index: linux-2.6.23.16/drivers/mmc/host/Makefile
+Index: linux-2.6.23.17/drivers/mmc/host/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/host/Makefile	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/host/Makefile	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/host/Makefile
++++ linux-2.6.23.17/drivers/mmc/host/Makefile
 @@ -15,4 +15,5 @@ obj-$(CONFIG_MMC_AU1X)		+= au1xmmc.o
  obj-$(CONFIG_MMC_OMAP)		+= omap.o
  obj-$(CONFIG_MMC_AT91)		+= at91_mci.o
  obj-$(CONFIG_MMC_TIFM_SD)	+= tifm_sd.o
 +obj-$(CONFIG_MMC_SPI)		+= mmc_spi.o
  
-Index: linux-2.6.23.16/drivers/mmc/host/mmc_spi.c
+Index: linux-2.6.23.17/drivers/mmc/host/mmc_spi.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/host/mmc_spi.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/host/mmc_spi.c
 @@ -0,0 +1,1419 @@
 +/*
 + * mmc_spi.c - Access SD/MMC cards through SPI master controllers
@@ -1457,10 +1457,10 @@ Index: linux-2.6.23.16/drivers/mmc/host/mmc_spi.c
 +		"Hans-Peter Nilsson, Jan Nikitenko");
 +MODULE_DESCRIPTION("SPI SD/MMC host driver");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.23.16/include/linux/spi/mmc_spi.h
+Index: linux-2.6.23.17/include/linux/spi/mmc_spi.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/include/linux/spi/mmc_spi.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/include/linux/spi/mmc_spi.h
 @@ -0,0 +1,33 @@
 +#ifndef __LINUX_SPI_MMC_SPI_H
 +#define __LINUX_SPI_MMC_SPI_H
@@ -1495,10 +1495,10 @@ Index: linux-2.6.23.16/include/linux/spi/mmc_spi.h
 +};
 +
 +#endif /* __LINUX_SPI_MMC_SPI_H */
-Index: linux-2.6.23.16/drivers/mmc/core/bus.c
+Index: linux-2.6.23.17/drivers/mmc/core/bus.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/bus.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/bus.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/bus.c
++++ linux-2.6.23.17/drivers/mmc/core/bus.c
 @@ -19,6 +19,7 @@
  
  #include "sysfs.h"
@@ -1630,10 +1630,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/bus.c
  
  		if (card->host->bus_ops->sysfs_remove)
  			card->host->bus_ops->sysfs_remove(card->host, card);
-Index: linux-2.6.23.16/drivers/mmc/core/core.c
+Index: linux-2.6.23.17/drivers/mmc/core/core.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/core.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/core.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/core.c
++++ linux-2.6.23.17/drivers/mmc/core/core.c
 @@ -18,7 +18,7 @@
  #include <linux/delay.h>
  #include <linux/pagemap.h>
@@ -2001,10 +2001,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/core.c
  module_exit(mmc_exit);
  
  MODULE_LICENSE("GPL");
-Index: linux-2.6.23.16/drivers/mmc/core/core.h
+Index: linux-2.6.23.17/drivers/mmc/core/core.h
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/core.h	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/core.h	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/core.h
++++ linux-2.6.23.17/drivers/mmc/core/core.h
 @@ -48,5 +48,7 @@ void mmc_rescan(struct work_struct *work
  void mmc_start_host(struct mmc_host *host);
  void mmc_stop_host(struct mmc_host *host);
@@ -2013,10 +2013,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/core.h
 +
  #endif
  
-Index: linux-2.6.23.16/drivers/mmc/core/host.c
+Index: linux-2.6.23.17/drivers/mmc/core/host.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/host.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/host.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/host.c
++++ linux-2.6.23.17/drivers/mmc/core/host.c
 @@ -15,6 +15,7 @@
  #include <linux/err.h>
  #include <linux/idr.h>
@@ -2053,10 +2053,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/host.c
  	spin_lock(&mmc_host_lock);
  	idr_remove(&mmc_host_idr, host->index);
  	spin_unlock(&mmc_host_lock);
-Index: linux-2.6.23.16/drivers/mmc/core/mmc.c
+Index: linux-2.6.23.17/drivers/mmc/core/mmc.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/mmc.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/mmc.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/mmc.c
++++ linux-2.6.23.17/drivers/mmc/core/mmc.c
 @@ -161,13 +161,12 @@ static int mmc_read_ext_csd(struct mmc_c
  {
  	int err;
@@ -2358,10 +2358,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/mmc.c
 +	return err;
  }
  
-Index: linux-2.6.23.16/drivers/mmc/core/mmc_ops.c
+Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/mmc_ops.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/mmc_ops.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/mmc_ops.c
++++ linux-2.6.23.17/drivers/mmc/core/mmc_ops.c
 @@ -10,7 +10,6 @@
   */
  
@@ -2719,10 +2719,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/mmc_ops.c
 +	return 0;
  }
  
-Index: linux-2.6.23.16/drivers/mmc/core/mmc_ops.h
+Index: linux-2.6.23.17/drivers/mmc/core/mmc_ops.h
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/mmc_ops.h	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/mmc_ops.h	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/mmc_ops.h
++++ linux-2.6.23.17/drivers/mmc/core/mmc_ops.h
 @@ -22,6 +22,9 @@ int mmc_send_csd(struct mmc_card *card, 
  int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd);
  int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value);
@@ -2733,10 +2733,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/mmc_ops.h
  
  #endif
  
-Index: linux-2.6.23.16/drivers/mmc/core/sd.c
+Index: linux-2.6.23.17/drivers/mmc/core/sd.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/sd.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/sd.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/sd.c
++++ linux-2.6.23.17/drivers/mmc/core/sd.c
 @@ -166,8 +166,6 @@ static int mmc_decode_scr(struct mmc_car
  	unsigned int scr_struct;
  	u32 resp[4];
@@ -3060,10 +3060,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sd.c
 +	return err;
  }
  
-Index: linux-2.6.23.16/drivers/mmc/core/sd_ops.c
+Index: linux-2.6.23.17/drivers/mmc/core/sd_ops.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/sd_ops.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/sd_ops.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/sd_ops.c
++++ linux-2.6.23.17/drivers/mmc/core/sd_ops.c
 @@ -10,7 +10,6 @@
   */
  
@@ -3337,10 +3337,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sd_ops.c
 +	return 0;
  }
  
-Index: linux-2.6.23.16/drivers/mmc/core/sdio.c
+Index: linux-2.6.23.17/drivers/mmc/core/sdio.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio.c
 @@ -0,0 +1,395 @@
 +/*
 + *  linux/drivers/mmc/sdio.c
@@ -3737,10 +3737,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio.c
 +	return err;
 +}
 +
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_bus.c
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_bus.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_bus.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_bus.c
 @@ -0,0 +1,265 @@
 +/*
 + *  linux/drivers/mmc/core/sdio_bus.c
@@ -4007,10 +4007,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_bus.c
 +	put_device(&func->dev);
 +}
 +
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_bus.h
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_bus.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_bus.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_bus.h
 @@ -0,0 +1,22 @@
 +/*
 + *  linux/drivers/mmc/core/sdio_bus.h
@@ -4034,10 +4034,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_bus.h
 +
 +#endif
 +
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_cis.c
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_cis.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_cis.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_cis.c
 @@ -0,0 +1,346 @@
 +/*
 + * linux/drivers/mmc/core/sdio_cis.c
@@ -4385,10 +4385,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_cis.c
 +	put_device(&func->card->dev);
 +}
 +
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_cis.h
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_cis.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_cis.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_cis.h
 @@ -0,0 +1,23 @@
 +/*
 + * linux/drivers/mmc/core/sdio_cis.h
@@ -4413,10 +4413,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_cis.h
 +void sdio_free_func_cis(struct sdio_func *func);
 +
 +#endif
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_io.c
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_io.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_io.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_io.c
 @@ -0,0 +1,548 @@
 +/*
 + *  linux/drivers/mmc/core/sdio_io.c
@@ -4966,10 +4966,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_io.c
 +		*err_ret = ret;
 +}
 +EXPORT_SYMBOL_GPL(sdio_f0_writeb);
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_irq.c
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_irq.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_irq.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_irq.c
 @@ -0,0 +1,267 @@
 +/*
 + * linux/drivers/mmc/core/sdio_irq.c
@@ -5238,10 +5238,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_irq.c
 +}
 +EXPORT_SYMBOL_GPL(sdio_release_irq);
 +
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_ops.c
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_ops.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_ops.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_ops.c
 @@ -0,0 +1,175 @@
 +/*
 + *  linux/drivers/mmc/sdio_ops.c
@@ -5418,10 +5418,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_ops.c
 +	return 0;
 +}
 +
-Index: linux-2.6.23.16/drivers/mmc/core/sdio_ops.h
+Index: linux-2.6.23.17/drivers/mmc/core/sdio_ops.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/core/sdio_ops.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/core/sdio_ops.h
 @@ -0,0 +1,22 @@
 +/*
 + *  linux/drivers/mmc/sdio_ops.c
@@ -5445,10 +5445,10 @@ Index: linux-2.6.23.16/drivers/mmc/core/sdio_ops.h
 +
 +#endif
 +
-Index: linux-2.6.23.16/include/linux/mmc/card.h
+Index: linux-2.6.23.17/include/linux/mmc/card.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/mmc/card.h	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/include/linux/mmc/card.h	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/include/linux/mmc/card.h
++++ linux-2.6.23.17/include/linux/mmc/card.h
 @@ -55,7 +55,28 @@ struct sd_switch_caps {
  	unsigned int		hs_max_dtr;
  };
@@ -5512,10 +5512,10 @@ Index: linux-2.6.23.16/include/linux/mmc/card.h
  
  #define mmc_card_present(c)	((c)->state & MMC_STATE_PRESENT)
  #define mmc_card_readonly(c)	((c)->state & MMC_STATE_READONLY)
-Index: linux-2.6.23.16/include/linux/mmc/core.h
+Index: linux-2.6.23.17/include/linux/mmc/core.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/mmc/core.h	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/include/linux/mmc/core.h	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/include/linux/mmc/core.h
++++ linux-2.6.23.17/include/linux/mmc/core.h
 @@ -25,14 +25,20 @@ struct mmc_command {
  #define MMC_RSP_CRC	(1 << 2)		/* expect valid crc */
  #define MMC_RSP_BUSY	(1 << 3)		/* card may send busy */
@@ -5627,10 +5627,10 @@ Index: linux-2.6.23.16/include/linux/mmc/core.h
 +}
 +
  #endif
-Index: linux-2.6.23.16/include/linux/mmc/host.h
+Index: linux-2.6.23.17/include/linux/mmc/host.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/mmc/host.h	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/include/linux/mmc/host.h	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/include/linux/mmc/host.h
++++ linux-2.6.23.17/include/linux/mmc/host.h
 @@ -10,6 +10,8 @@
  #ifndef LINUX_MMC_HOST_H
  #define LINUX_MMC_HOST_H
@@ -5722,10 +5722,10 @@ Index: linux-2.6.23.16/include/linux/mmc/host.h
 +
  #endif
  
-Index: linux-2.6.23.16/include/linux/mmc/mmc.h
+Index: linux-2.6.23.17/include/linux/mmc/mmc.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/mmc/mmc.h	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/include/linux/mmc/mmc.h	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/include/linux/mmc/mmc.h
++++ linux-2.6.23.17/include/linux/mmc/mmc.h
 @@ -27,7 +27,7 @@
  
  /* Standard MMC commands (4.1)           type  argument     response */
@@ -5817,10 +5817,10 @@ Index: linux-2.6.23.16/include/linux/mmc/mmc.h
  #define EXT_CSD_SEC_CNT		212	/* RO, 4 bytes */
  
  /*
-Index: linux-2.6.23.16/include/linux/mmc/sdio.h
+Index: linux-2.6.23.17/include/linux/mmc/sdio.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/include/linux/mmc/sdio.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/include/linux/mmc/sdio.h
 @@ -0,0 +1,159 @@
 +/*
 + *  include/linux/mmc/sdio.h
@@ -5981,10 +5981,10 @@ Index: linux-2.6.23.16/include/linux/mmc/sdio.h
 +
 +#endif
 +
-Index: linux-2.6.23.16/include/linux/mmc/sdio_func.h
+Index: linux-2.6.23.17/include/linux/mmc/sdio_func.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/include/linux/mmc/sdio_func.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/include/linux/mmc/sdio_func.h
 @@ -0,0 +1,153 @@
 +/*
 + *  include/linux/mmc/sdio_func.h
@@ -6139,10 +6139,10 @@ Index: linux-2.6.23.16/include/linux/mmc/sdio_func.h
 +
 +#endif
 +
-Index: linux-2.6.23.16/include/linux/mmc/sdio_ids.h
+Index: linux-2.6.23.17/include/linux/mmc/sdio_ids.h
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/include/linux/mmc/sdio_ids.h	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/include/linux/mmc/sdio_ids.h
 @@ -0,0 +1,29 @@
 +/*
 + * SDIO Classes, Interface Types, Manufacturer IDs, etc.
@@ -6173,10 +6173,10 @@ Index: linux-2.6.23.16/include/linux/mmc/sdio_ids.h
 +#define SDIO_DEVICE_ID_MARVELL_LIBERTAS		0x9103
 +
 +#endif
-Index: linux-2.6.23.16/include/linux/mod_devicetable.h
+Index: linux-2.6.23.17/include/linux/mod_devicetable.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/mod_devicetable.h	2008-03-21 17:28:37.000000000 +0100
-+++ linux-2.6.23.16/include/linux/mod_devicetable.h	2008-03-21 17:32:50.000000000 +0100
+--- linux-2.6.23.17.orig/include/linux/mod_devicetable.h
++++ linux-2.6.23.17/include/linux/mod_devicetable.h
 @@ -22,6 +22,18 @@ struct pci_device_id {
  };
  
@@ -6196,10 +6196,10 @@ Index: linux-2.6.23.16/include/linux/mod_devicetable.h
  #define IEEE1394_MATCH_VENDOR_ID	0x0001
  #define IEEE1394_MATCH_MODEL_ID		0x0002
  #define IEEE1394_MATCH_SPECIFIER_ID	0x0004
-Index: linux-2.6.23.16/drivers/mmc/card/Kconfig
+Index: linux-2.6.23.17/drivers/mmc/card/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/card/Kconfig	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/card/Kconfig	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/card/Kconfig
++++ linux-2.6.23.17/drivers/mmc/card/Kconfig
 @@ -32,3 +32,10 @@ config MMC_BLOCK_BOUNCE
  
  	  If unsure, say Y here.
@@ -6211,20 +6211,20 @@ Index: linux-2.6.23.16/drivers/mmc/card/Kconfig
 +	  SDIO function driver for SDIO cards that implements the UART
 +	  class, as well as the GPS class which appears like a UART.
 +
-Index: linux-2.6.23.16/drivers/mmc/card/Makefile
+Index: linux-2.6.23.17/drivers/mmc/card/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/card/Makefile	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/card/Makefile	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/card/Makefile
++++ linux-2.6.23.17/drivers/mmc/card/Makefile
 @@ -9,3 +9,5 @@ endif
  obj-$(CONFIG_MMC_BLOCK)		+= mmc_block.o
  mmc_block-objs			:= block.o queue.o
  
 +obj-$(CONFIG_SDIO_UART)		+= sdio_uart.o
 +
-Index: linux-2.6.23.16/drivers/mmc/card/block.c
+Index: linux-2.6.23.17/drivers/mmc/card/block.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/card/block.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/card/block.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/card/block.c
++++ linux-2.6.23.17/drivers/mmc/card/block.c
 @@ -44,6 +44,9 @@
   * max 8 partitions per card
   */
@@ -6382,10 +6382,10 @@ Index: linux-2.6.23.16/drivers/mmc/card/block.c
  		mmc_blk_put(md);
  	}
  	mmc_set_drvdata(card, NULL);
-Index: linux-2.6.23.16/drivers/mmc/card/queue.c
+Index: linux-2.6.23.17/drivers/mmc/card/queue.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/card/queue.c	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/card/queue.c	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/card/queue.c
++++ linux-2.6.23.17/drivers/mmc/card/queue.c
 @@ -13,6 +13,7 @@
  #include <linux/blkdev.h>
  #include <linux/freezer.h>
@@ -6457,10 +6457,10 @@ Index: linux-2.6.23.16/drivers/mmc/card/queue.c
  
  	while (sg_len) {
  		mq->sg[0].length += mq->bounce_sg[sg_len - 1].length;
-Index: linux-2.6.23.16/drivers/mmc/card/sdio_uart.c
+Index: linux-2.6.23.17/drivers/mmc/card/sdio_uart.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23.16/drivers/mmc/card/sdio_uart.c	2008-03-21 17:30:25.000000000 +0100
+--- /dev/null
++++ linux-2.6.23.17/drivers/mmc/card/sdio_uart.c
 @@ -0,0 +1,1158 @@
 +/*
 + * linux/drivers/mmc/card/sdio_uart.c - SDIO UART/GPS driver
@@ -7620,10 +7620,10 @@ Index: linux-2.6.23.16/drivers/mmc/card/sdio_uart.c
 +
 +MODULE_AUTHOR("Nicolas Pitre");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.23.16/drivers/mmc/core/Makefile
+Index: linux-2.6.23.17/drivers/mmc/core/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/core/Makefile	2008-03-21 17:28:26.000000000 +0100
-+++ linux-2.6.23.16/drivers/mmc/core/Makefile	2008-03-21 17:30:25.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/mmc/core/Makefile
++++ linux-2.6.23.17/drivers/mmc/core/Makefile
 @@ -8,5 +8,7 @@ endif
  
  obj-$(CONFIG_MMC)		+= mmc_core.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch b/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch
index 6694f5895..fe0bd1c23 100644
--- a/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/301-mmc_sdhci_fixes.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
+Index: linux-2.6.23.17/drivers/mmc/host/sdhci.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/mmc/host/sdhci.c	2008-04-28 08:33:14.000000000 +0200
-+++ linux-2.6.23.16/drivers/mmc/host/sdhci.c	2008-04-28 08:36:40.000000000 +0200
-@@ -487,16 +487,16 @@
+--- linux-2.6.23.17.orig/drivers/mmc/host/sdhci.c
++++ linux-2.6.23.17/drivers/mmc/host/sdhci.c
+@@ -481,16 +481,16 @@ static void sdhci_finish_data(struct sdh
  	 * Controller doesn't count down when in single block mode.
  	 */
  	if (data->blocks == 1)
@@ -22,7 +22,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  	}
  
  	if (data->stop) {
-@@ -504,7 +504,7 @@
+@@ -498,7 +498,7 @@ static void sdhci_finish_data(struct sdh
  		 * The controller needs a reset of internal state machines
  		 * upon error conditions.
  		 */
@@ -31,7 +31,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  			sdhci_reset(host, SDHCI_RESET_CMD);
  			sdhci_reset(host, SDHCI_RESET_DATA);
  		}
-@@ -539,7 +539,7 @@
+@@ -533,7 +533,7 @@ static void sdhci_send_command(struct sd
  			printk(KERN_ERR "%s: Controller never released "
  				"inhibit bit(s).\n", mmc_hostname(host->mmc));
  			sdhci_dumpregs(host);
@@ -40,7 +40,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  			tasklet_schedule(&host->finish_tasklet);
  			return;
  		}
-@@ -560,7 +560,7 @@
+@@ -554,7 +554,7 @@ static void sdhci_send_command(struct sd
  	if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
  		printk(KERN_ERR "%s: Unsupported response type!\n",
  			mmc_hostname(host->mmc));
@@ -49,7 +49,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  		tasklet_schedule(&host->finish_tasklet);
  		return;
  	}
-@@ -607,7 +607,7 @@
+@@ -601,7 +601,7 @@ static void sdhci_finish_command(struct 
  		}
  	}
  
@@ -58,7 +58,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  
  	if (host->data && host->data_early)
  		sdhci_finish_data(host);
-@@ -730,7 +730,7 @@
+@@ -722,7 +722,7 @@ static void sdhci_request(struct mmc_hos
  	host->mrq = mrq;
  
  	if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) {
@@ -67,7 +67,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  		tasklet_schedule(&host->finish_tasklet);
  	} else
  		sdhci_send_command(host, mrq->cmd);
-@@ -839,7 +839,7 @@
+@@ -831,7 +831,7 @@ static void sdhci_tasklet_card(unsigned 
  			sdhci_reset(host, SDHCI_RESET_CMD);
  			sdhci_reset(host, SDHCI_RESET_DATA);
  
@@ -76,7 +76,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  			tasklet_schedule(&host->finish_tasklet);
  		}
  	}
-@@ -867,9 +867,9 @@
+@@ -859,9 +859,9 @@ static void sdhci_tasklet_finish(unsigne
  	 * The controller needs a reset of internal state machines
  	 * upon error conditions.
  	 */
@@ -89,7 +89,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  
  		/* Some controllers need this kick or reset won't work here */
  		if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) {
-@@ -914,13 +914,13 @@
+@@ -906,13 +906,13 @@ static void sdhci_timeout_timer(unsigned
  		sdhci_dumpregs(host);
  
  		if (host->data) {
@@ -106,7 +106,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  
  			tasklet_schedule(&host->finish_tasklet);
  		}
-@@ -949,13 +949,12 @@
+@@ -941,13 +941,12 @@ static void sdhci_cmd_irq(struct sdhci_h
  	}
  
  	if (intmask & SDHCI_INT_TIMEOUT)
@@ -125,7 +125,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  		tasklet_schedule(&host->finish_tasklet);
  	else if (intmask & SDHCI_INT_RESPONSE)
  		sdhci_finish_command(host);
-@@ -982,13 +981,11 @@
+@@ -974,13 +973,11 @@ static void sdhci_data_irq(struct sdhci_
  	}
  
  	if (intmask & SDHCI_INT_DATA_TIMEOUT)
@@ -143,7 +143,7 @@ Index: linux-2.6.23.16/drivers/mmc/host/sdhci.c
  		sdhci_finish_data(host);
  	else {
  		if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL))
-@@ -1320,7 +1317,7 @@
+@@ -1312,7 +1309,7 @@ static int __devinit sdhci_probe_slot(st
  	mmc->ops = &sdhci_ops;
  	mmc->f_min = host->max_clk / 256;
  	mmc->f_max = host->max_clk;
diff --git a/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch b/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch
index 780fd34a5..bd040c903 100644
--- a/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/400-ledtrig_morse.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc9/drivers/leds/Kconfig
+Index: linux-2.6.23.17/drivers/leds/Kconfig
 ===================================================================
---- linux-2.6.23-rc9.orig/drivers/leds/Kconfig	2007-10-02 12:51:05.000000000 +0800
-+++ linux-2.6.23-rc9/drivers/leds/Kconfig	2007-10-03 23:43:31.000000000 +0800
-@@ -133,4 +133,8 @@
+--- linux-2.6.23.17.orig/drivers/leds/Kconfig
++++ linux-2.6.23.17/drivers/leds/Kconfig
+@@ -133,4 +133,8 @@ config LEDS_TRIGGER_HEARTBEAT
  	  load average.
  	  If unsure, say Y.
  
@@ -11,11 +11,11 @@ Index: linux-2.6.23-rc9/drivers/leds/Kconfig
 +	depends on LEDS_TRIGGERS
 +
  endif # NEW_LEDS
-Index: linux-2.6.23-rc9/drivers/leds/Makefile
+Index: linux-2.6.23.17/drivers/leds/Makefile
 ===================================================================
---- linux-2.6.23-rc9.orig/drivers/leds/Makefile	2007-10-02 12:51:05.000000000 +0800
-+++ linux-2.6.23-rc9/drivers/leds/Makefile	2007-10-03 23:42:24.000000000 +0800
-@@ -22,3 +22,4 @@
+--- linux-2.6.23.17.orig/drivers/leds/Makefile
++++ linux-2.6.23.17/drivers/leds/Makefile
+@@ -22,3 +22,4 @@ obj-$(CONFIG_LEDS_GPIO)			+= leds-gpio.o
  obj-$(CONFIG_LEDS_TRIGGER_TIMER)	+= ledtrig-timer.o
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)	+= ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch b/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch
index cb00274b9..e857bae0a 100644
--- a/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/401-led_alix.patch
@@ -1,7 +1,8 @@
-diff -Nur linux-2.6.23.1.orig/drivers/leds/Kconfig linux-2.6.23.1/drivers/leds/Kconfig
---- linux-2.6.23.1.orig/drivers/leds/Kconfig	2007-10-12 12:43:44.000000000 -0400
-+++ linux-2.6.23.1/drivers/leds/Kconfig	2007-10-31 02:36:22.000000000 -0400
-@@ -81,6 +81,12 @@
+Index: linux-2.6.23.17/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/drivers/leds/Kconfig
++++ linux-2.6.23.17/drivers/leds/Kconfig
+@@ -81,6 +81,12 @@ config LEDS_WRAP
  	help
  	  This option enables support for the PCEngines WRAP programmable LEDs.
  
@@ -14,10 +15,11 @@ diff -Nur linux-2.6.23.1.orig/drivers/leds/Kconfig linux-2.6.23.1/drivers/leds/K
  config LEDS_H1940
  	tristate "LED Support for iPAQ H1940 device"
  	depends LEDS_CLASS && ARCH_H1940
-diff -Nur linux-2.6.23.1.orig/drivers/leds/Makefile linux-2.6.23.1/drivers/leds/Makefile
---- linux-2.6.23.1.orig/drivers/leds/Makefile	2007-10-12 12:43:44.000000000 -0400
-+++ linux-2.6.23.1/drivers/leds/Makefile	2007-10-31 02:36:17.000000000 -0400
-@@ -14,6 +14,7 @@
+Index: linux-2.6.23.17/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/drivers/leds/Makefile
++++ linux-2.6.23.17/drivers/leds/Makefile
+@@ -14,6 +14,7 @@ obj-$(CONFIG_LEDS_S3C24XX)		+= leds-s3c2
  obj-$(CONFIG_LEDS_AMS_DELTA)		+= leds-ams-delta.o
  obj-$(CONFIG_LEDS_NET48XX)		+= leds-net48xx.o
  obj-$(CONFIG_LEDS_WRAP)			+= leds-wrap.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch b/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch
index a59915c3e..62214a337 100644
--- a/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/402-ledtrig_default_on.patch
@@ -1,7 +1,8 @@
-diff -ur linux-2.6.23.1.orig/drivers/leds/Kconfig linux-2.6.23.1/drivers/leds/Kconfig
---- linux-2.6.23.1.orig/drivers/leds/Kconfig	2007-12-01 00:41:03.000000000 +1300
-+++ linux-2.6.23.1/drivers/leds/Kconfig	2007-12-01 01:26:43.000000000 +1300
-@@ -137,4 +137,11 @@
+Index: linux-2.6.23.17/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/drivers/leds/Kconfig
++++ linux-2.6.23.17/drivers/leds/Kconfig
+@@ -143,4 +143,11 @@ config LEDS_TRIGGER_MORSE
  	tristate "LED Morse Trigger"
  	depends on LEDS_TRIGGERS
  
@@ -13,10 +14,11 @@ diff -ur linux-2.6.23.1.orig/drivers/leds/Kconfig linux-2.6.23.1/drivers/leds/Kc
 +	  If unsure, say Y.
 +
  endif # NEW_LEDS
-diff -ur linux-2.6.23.1.orig/drivers/leds/Makefile linux-2.6.23.1/drivers/leds/Makefile
---- linux-2.6.23.1.orig/drivers/leds/Makefile	2007-12-01 00:41:03.000000000 +1300
-+++ linux-2.6.23.1/drivers/leds/Makefile	2007-12-01 01:27:12.000000000 +1300
-@@ -23,3 +23,4 @@
+Index: linux-2.6.23.17/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/drivers/leds/Makefile
++++ linux-2.6.23.17/drivers/leds/Makefile
+@@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER)	+= ledt
  obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)	+= ledtrig-ide-disk.o
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch b/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch
index 4dab89316..5f538b5c2 100644
--- a/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/403-ledtrig_netdev.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.16/drivers/leds/Kconfig
+Index: linux-2.6.23.17/drivers/leds/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/leds/Kconfig	2008-03-07 21:26:46.000000000 +0100
-+++ linux-2.6.23.16/drivers/leds/Kconfig	2008-03-07 21:27:50.000000000 +0100
-@@ -150,4 +150,11 @@
+--- linux-2.6.23.17.orig/drivers/leds/Kconfig
++++ linux-2.6.23.17/drivers/leds/Kconfig
+@@ -150,4 +150,11 @@ config LEDS_TRIGGER_DEFAULT_ON
  	  This allows LEDs to be initialised in the ON state.
  	  If unsure, say Y.
  
@@ -14,11 +14,11 @@ Index: linux-2.6.23.16/drivers/leds/Kconfig
 +		If unsure, say Y.
 +
  endif # NEW_LEDS
-Index: linux-2.6.23.16/drivers/leds/Makefile
+Index: linux-2.6.23.17/drivers/leds/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/leds/Makefile	2008-03-07 21:28:01.000000000 +0100
-+++ linux-2.6.23.16/drivers/leds/Makefile	2008-03-07 21:36:07.000000000 +0100
-@@ -25,3 +25,4 @@
+--- linux-2.6.23.17.orig/drivers/leds/Makefile
++++ linux-2.6.23.17/drivers/leds/Makefile
+@@ -25,3 +25,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK)	+= l
  obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT)	+= ledtrig-heartbeat.o
  obj-$(CONFIG_LEDS_TRIGGER_MORSE)	+= ledtrig-morse.o
  obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON)	+= ledtrig-default-on.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch b/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch
index 6de5d7040..8a1230616 100644
--- a/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/410-gpio_buttons.patch
@@ -1,6 +1,8 @@
---- linux-2.6.23.orig/drivers/input/misc/Kconfig	2007-08-21 06:33:06.000000000 +0200
-+++ linux-2.6.23/drivers/input/misc/Kconfig	2007-10-08 10:57:23.000000000 +0200
-@@ -178,4 +178,20 @@
+Index: linux-2.6.23.17/drivers/input/misc/Kconfig
+===================================================================
+--- linux-2.6.23.17.orig/drivers/input/misc/Kconfig
++++ linux-2.6.23.17/drivers/input/misc/Kconfig
+@@ -183,4 +183,20 @@ config HP_SDC_RTC
  	  Say Y here if you want to support the built-in real time clock
  	  of the HP SDC controller.
  
@@ -21,9 +23,11 @@
 +	  module will be called gpio-buttons.
 +
  endif
---- linux-2.6.23.orig/drivers/input/misc/Makefile	2007-08-21 06:33:06.000000000 +0200
-+++ linux-2.6.23/drivers/input/misc/Makefile	2007-10-08 10:50:12.000000000 +0200
-@@ -18,3 +18,4 @@
+Index: linux-2.6.23.17/drivers/input/misc/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/drivers/input/misc/Makefile
++++ linux-2.6.23.17/drivers/input/misc/Makefile
+@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE)		+= powerm
  obj-$(CONFIG_INPUT_YEALINK)		+= yealink.o
  obj-$(CONFIG_HP_SDC_RTC)		+= hp_sdc_rtc.o
  obj-$(CONFIG_INPUT_UINPUT)		+= uinput.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch b/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch
index 4f5894c6a..f5e5e2c48 100644
--- a/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/510-Yaffs.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/fs/Kconfig
+Index: linux-2.6.23.17/fs/Kconfig
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/Kconfig	2007-09-21 16:24:06.000000000 +0800
-+++ linux-2.6.23-rc6/fs/Kconfig	2007-09-21 16:24:08.000000000 +0800
-@@ -419,6 +419,7 @@
+--- linux-2.6.23.17.orig/fs/Kconfig
++++ linux-2.6.23.17/fs/Kconfig
+@@ -419,6 +419,7 @@ config FS_POSIX_ACL
  
  source "fs/xfs/Kconfig"
  source "fs/gfs2/Kconfig"
@@ -10,11 +10,11 @@ Index: linux-2.6.23-rc6/fs/Kconfig
  
  config OCFS2_FS
  	tristate "OCFS2 file system support"
-Index: linux-2.6.23-rc6/fs/Makefile
+Index: linux-2.6.23.17/fs/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/fs/Makefile	2007-09-21 16:24:06.000000000 +0800
-+++ linux-2.6.23-rc6/fs/Makefile	2007-09-21 16:24:08.000000000 +0800
-@@ -120,3 +120,4 @@
+--- linux-2.6.23.17.orig/fs/Makefile
++++ linux-2.6.23.17/fs/Makefile
+@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS)		+= hppfs/
  obj-$(CONFIG_DEBUG_FS)		+= debugfs/
  obj-$(CONFIG_OCFS2_FS)		+= ocfs2/
  obj-$(CONFIG_GFS2_FS)           += gfs2/
diff --git a/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch b/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch
index 8261d4a48..6ed776e0c 100644
--- a/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/600-phy_extension.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23/drivers/net/phy/phy.c
+Index: linux-2.6.23.17/drivers/net/phy/phy.c
 ===================================================================
---- linux-2.6.23.orig/drivers/net/phy/phy.c	2007-10-14 00:05:26.000000000 +0200
-+++ linux-2.6.23/drivers/net/phy/phy.c	2007-10-14 00:44:21.000000000 +0200
-@@ -344,6 +344,50 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/phy.c
++++ linux-2.6.23.17/drivers/net/phy/phy.c
+@@ -344,6 +344,50 @@ int phy_ethtool_gset(struct phy_device *
  }
  EXPORT_SYMBOL(phy_ethtool_gset);
  
@@ -53,11 +53,11 @@ Index: linux-2.6.23/drivers/net/phy/phy.c
  /**
   * phy_mii_ioctl - generic PHY MII ioctl interface
   * @phydev: the phy_device struct
-Index: linux-2.6.23/include/linux/phy.h
+Index: linux-2.6.23.17/include/linux/phy.h
 ===================================================================
---- linux-2.6.23.orig/include/linux/phy.h	2007-10-14 00:05:15.000000000 +0200
-+++ linux-2.6.23/include/linux/phy.h	2007-10-14 00:18:54.000000000 +0200
-@@ -393,6 +393,7 @@
+--- linux-2.6.23.17.orig/include/linux/phy.h
++++ linux-2.6.23.17/include/linux/phy.h
+@@ -393,6 +393,7 @@ void phy_start_machine(struct phy_device
  void phy_stop_machine(struct phy_device *phydev);
  int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
  int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);
diff --git a/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch b/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch
index 394cd3704..c0dc2013b 100644
--- a/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/610-phy_detect.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.16/drivers/net/phy/mdio_bus.c
+Index: linux-2.6.23.17/drivers/net/phy/mdio_bus.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/mdio_bus.c	2008-02-11 07:06:32.000000000 +0100
-+++ linux-2.6.23.16/drivers/net/phy/mdio_bus.c	2008-04-20 01:55:46.000000000 +0200
-@@ -131,6 +131,9 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/mdio_bus.c
++++ linux-2.6.23.17/drivers/net/phy/mdio_bus.c
+@@ -131,6 +131,9 @@ static int mdio_bus_match(struct device 
  	struct phy_device *phydev = to_phy_device(dev);
  	struct phy_driver *phydrv = to_phy_driver(drv);
  
@@ -12,11 +12,11 @@ Index: linux-2.6.23.16/drivers/net/phy/mdio_bus.c
  	return ((phydrv->phy_id & phydrv->phy_id_mask) ==
  		(phydev->phy_id & phydrv->phy_id_mask));
  }
-Index: linux-2.6.23.16/include/linux/phy.h
+Index: linux-2.6.23.17/include/linux/phy.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/phy.h	2008-04-20 00:36:18.000000000 +0200
-+++ linux-2.6.23.16/include/linux/phy.h	2008-04-20 01:55:04.000000000 +0200
-@@ -319,6 +319,11 @@
+--- linux-2.6.23.17.orig/include/linux/phy.h
++++ linux-2.6.23.17/include/linux/phy.h
+@@ -319,6 +319,11 @@ struct phy_driver {
  	u32 features;
  	u32 flags;
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch b/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch
index 299739237..2634ea1e7 100644
--- a/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/620-phy_adm6996.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.16/drivers/net/phy/Kconfig
+Index: linux-2.6.23.17/drivers/net/phy/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/Kconfig	2008-04-20 04:40:22.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/phy/Kconfig	2008-04-20 04:40:32.000000000 +0200
-@@ -60,6 +60,11 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/Kconfig
++++ linux-2.6.23.17/drivers/net/phy/Kconfig
+@@ -60,6 +60,11 @@ config ICPLUS_PHY
  	---help---
  	  Currently supports the IP175C PHY.
  
@@ -14,11 +14,11 @@ Index: linux-2.6.23.16/drivers/net/phy/Kconfig
  config FIXED_PHY
  	tristate "Drivers for PHY emulation on fixed speed/link"
  	---help---
-Index: linux-2.6.23.16/drivers/net/phy/Makefile
+Index: linux-2.6.23.17/drivers/net/phy/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/Makefile	2008-04-20 04:40:22.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/phy/Makefile	2008-04-20 04:40:32.000000000 +0200
-@@ -12,4 +12,5 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/Makefile
++++ linux-2.6.23.17/drivers/net/phy/Makefile
+@@ -12,4 +12,5 @@ obj-$(CONFIG_SMSC_PHY)		+= smsc.o
  obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch b/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch
index 930139b55..1f26f2375 100644
--- a/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/630-phy_packets.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.16/drivers/net/phy/phy_device.c
+Index: linux-2.6.23.17/drivers/net/phy/phy_device.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/phy_device.c	2008-04-20 10:16:21.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/phy/phy_device.c	2008-04-29 14:20:03.000000000 +0200
-@@ -44,6 +44,18 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/phy_device.c
++++ linux-2.6.23.17/drivers/net/phy/phy_device.c
+@@ -44,6 +44,18 @@ static struct phy_driver genphy_driver;
  extern int mdio_bus_init(void);
  extern void mdio_bus_exit(void);
  
@@ -21,7 +21,7 @@ Index: linux-2.6.23.16/drivers/net/phy/phy_device.c
  struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
  {
  	struct phy_device *dev;
-@@ -67,6 +79,8 @@
+@@ -67,6 +79,8 @@ struct phy_device* phy_device_create(str
  	dev->bus = bus;
  
  	dev->state = PHY_DOWN;
@@ -30,11 +30,11 @@ Index: linux-2.6.23.16/drivers/net/phy/phy_device.c
  
  	spin_lock_init(&dev->lock);
  
-Index: linux-2.6.23.16/include/linux/phy.h
+Index: linux-2.6.23.17/include/linux/phy.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/phy.h	2008-04-20 10:16:21.000000000 +0200
-+++ linux-2.6.23.16/include/linux/phy.h	2008-04-20 10:17:58.000000000 +0200
-@@ -289,6 +289,17 @@
+--- linux-2.6.23.17.orig/include/linux/phy.h
++++ linux-2.6.23.17/include/linux/phy.h
+@@ -289,6 +289,17 @@ struct phy_device {
  	void (*adjust_link)(struct net_device *dev);
  
  	void (*adjust_state)(struct net_device *dev);
@@ -52,11 +52,11 @@ Index: linux-2.6.23.16/include/linux/phy.h
  };
  #define to_phy_device(d) container_of(d, struct phy_device, dev)
  
-Index: linux-2.6.23.16/include/linux/netdevice.h
+Index: linux-2.6.23.17/include/linux/netdevice.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/netdevice.h	2008-04-20 10:16:21.000000000 +0200
-+++ linux-2.6.23.16/include/linux/netdevice.h	2008-04-20 10:17:58.000000000 +0200
-@@ -426,6 +426,7 @@
+--- linux-2.6.23.17.orig/include/linux/netdevice.h
++++ linux-2.6.23.17/include/linux/netdevice.h
+@@ -426,6 +426,7 @@ struct net_device
  	void			*ax25_ptr;	/* AX.25 specific data */
  	struct wireless_dev	*ieee80211_ptr;	/* IEEE 802.11 specific data,
  						   assign before registering */
diff --git a/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch
index 15c6e481f..7b8839706 100644
--- a/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/640-mvswitch.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.16/drivers/net/phy/Kconfig
+Index: linux-2.6.23.17/drivers/net/phy/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/Kconfig	2008-04-20 07:31:20.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/phy/Kconfig	2008-04-20 08:57:26.000000000 +0200
-@@ -65,6 +65,12 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/Kconfig
++++ linux-2.6.23.17/drivers/net/phy/Kconfig
+@@ -65,6 +65,12 @@ config ADM6996_PHY
  	---help---
  	  Currently supports the ADM6996F switch
  
@@ -15,20 +15,20 @@ Index: linux-2.6.23.16/drivers/net/phy/Kconfig
  config FIXED_PHY
  	tristate "Drivers for PHY emulation on fixed speed/link"
  	---help---
-Index: linux-2.6.23.16/drivers/net/phy/Makefile
+Index: linux-2.6.23.17/drivers/net/phy/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/Makefile	2008-04-20 07:31:20.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/phy/Makefile	2008-04-20 07:31:34.000000000 +0200
-@@ -13,4 +13,5 @@
+--- linux-2.6.23.17.orig/drivers/net/phy/Makefile
++++ linux-2.6.23.17/drivers/net/phy/Makefile
+@@ -13,4 +13,5 @@ obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
  obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
  obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
  obj-$(CONFIG_ADM6996_PHY)	+= adm6996.o
 +obj-$(CONFIG_MVSWITCH_PHY)	+= mvswitch.o
  obj-$(CONFIG_FIXED_PHY)		+= fixed.o
-Index: linux-2.6.23.16/drivers/net/phy/mdio_bus.c
+Index: linux-2.6.23.17/drivers/net/phy/mdio_bus.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/net/phy/mdio_bus.c	2008-04-20 04:40:31.000000000 +0200
-+++ linux-2.6.23.16/drivers/net/phy/mdio_bus.c	2008-04-20 07:34:08.000000000 +0200
+--- linux-2.6.23.17.orig/drivers/net/phy/mdio_bus.c
++++ linux-2.6.23.17/drivers/net/phy/mdio_bus.c
 @@ -35,6 +35,12 @@
  #include <asm/irq.h>
  #include <asm/uaccess.h>
@@ -42,7 +42,7 @@ Index: linux-2.6.23.16/drivers/net/phy/mdio_bus.c
  /**
   * mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
   * @bus: target mii_bus
-@@ -85,6 +91,7 @@
+@@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus
  
  			phydev->dev.parent = bus->dev;
  			phydev->dev.bus = &mdio_bus_type;
diff --git a/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch b/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch
index 332f5a5cd..c356243b7 100644
--- a/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/700-unable_to_open_console.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.14/init/main.c
+Index: linux-2.6.23.17/init/main.c
 ===================================================================
---- linux-2.6.23.14.orig/init/main.c	2008-01-25 19:12:45.000000000 +0100
-+++ linux-2.6.23.14/init/main.c	2008-01-25 19:12:52.000000000 +0100
-@@ -780,7 +780,7 @@
+--- linux-2.6.23.17.orig/init/main.c
++++ linux-2.6.23.17/init/main.c
+@@ -780,7 +780,7 @@ static int noinline init_post(void)
  	numa_default_policy();
  
  	if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
diff --git a/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch b/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch
index 5b61c73ba..e86751502 100644
--- a/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/801-usb_serial_endpoint_size.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/drivers/usb/serial/usb-serial.c
+Index: linux-2.6.23.17/drivers/usb/serial/usb-serial.c
 ===================================================================
---- linux-2.6.23-rc6.orig/drivers/usb/serial/usb-serial.c	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/drivers/usb/serial/usb-serial.c	2007-09-21 16:24:09.000000000 +0800
-@@ -58,6 +58,7 @@
+--- linux-2.6.23.17.orig/drivers/usb/serial/usb-serial.c
++++ linux-2.6.23.17/drivers/usb/serial/usb-serial.c
+@@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv
     drivers depend on it.
  */
  
@@ -10,7 +10,7 @@ Index: linux-2.6.23-rc6/drivers/usb/serial/usb-serial.c
  static int debug;
  static struct usb_serial *serial_table[SERIAL_TTY_MINORS];	/* initially all NULL */
  static DEFINE_MUTEX(table_lock);
-@@ -866,7 +867,7 @@
+@@ -866,7 +867,7 @@ int usb_serial_probe(struct usb_interfac
  			dev_err(&interface->dev, "No free urbs available\n");
  			goto probe_error;
  		}
@@ -19,7 +19,7 @@ Index: linux-2.6.23-rc6/drivers/usb/serial/usb-serial.c
  		port->bulk_in_size = buffer_size;
  		port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
  		port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
-@@ -1276,3 +1277,5 @@
+@@ -1276,3 +1277,5 @@ MODULE_LICENSE("GPL");
  
  module_param(debug, bool, S_IRUGO | S_IWUSR);
  MODULE_PARM_DESC(debug, "Debug enabled or not");
diff --git a/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch b/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch
index aef479576..54fd80f4a 100644
--- a/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/900-headers_type_and_time.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/include/linux/time.h
+Index: linux-2.6.23.17/include/linux/time.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/time.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/time.h	2007-09-21 16:24:09.000000000 +0800
+--- linux-2.6.23.17.orig/include/linux/time.h
++++ linux-2.6.23.17/include/linux/time.h
 @@ -1,6 +1,10 @@
  #ifndef _LINUX_TIME_H
  #define _LINUX_TIME_H
@@ -13,17 +13,17 @@ Index: linux-2.6.23-rc6/include/linux/time.h
  #include <linux/types.h>
  
  #ifdef __KERNEL__
-@@ -227,4 +231,6 @@
+@@ -227,4 +231,6 @@ struct itimerval {
   */
  #define TIMER_ABSTIME			0x01
  
 +#endif /* __KERNEL__ DEBIAN */
 +
  #endif
-Index: linux-2.6.23-rc6/include/linux/types.h
+Index: linux-2.6.23.17/include/linux/types.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/types.h	2007-09-21 16:23:52.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/types.h	2007-09-21 16:24:09.000000000 +0800
+--- linux-2.6.23.17.orig/include/linux/types.h
++++ linux-2.6.23.17/include/linux/types.h
 @@ -1,6 +1,14 @@
  #ifndef _LINUX_TYPES_H
  #define _LINUX_TYPES_H
@@ -39,7 +39,7 @@ Index: linux-2.6.23-rc6/include/linux/types.h
  #ifdef	__KERNEL__
  
  #define BITS_TO_LONGS(bits) \
-@@ -162,6 +170,8 @@
+@@ -162,6 +170,8 @@ typedef unsigned long blkcnt_t;
  
  #endif /* __KERNEL_STRICT_NAMES */
  
diff --git a/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch b/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch
index 2a3a1e06e..173a305b2 100644
--- a/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/902-darwin_scripts_include.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23-rc6/scripts/genksyms/parse.c_shipped
+Index: linux-2.6.23.17/scripts/genksyms/parse.c_shipped
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/genksyms/parse.c_shipped	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/genksyms/parse.c_shipped	2007-09-21 16:24:10.000000000 +0800
+--- linux-2.6.23.17.orig/scripts/genksyms/parse.c_shipped
++++ linux-2.6.23.17/scripts/genksyms/parse.c_shipped
 @@ -144,7 +144,9 @@
  
  
@@ -12,10 +12,10 @@ Index: linux-2.6.23-rc6/scripts/genksyms/parse.c_shipped
  #include "genksyms.h"
  
  static int is_typedef;
-Index: linux-2.6.23-rc6/scripts/genksyms/parse.y
+Index: linux-2.6.23.17/scripts/genksyms/parse.y
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/genksyms/parse.y	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/genksyms/parse.y	2007-09-21 16:24:10.000000000 +0800
+--- linux-2.6.23.17.orig/scripts/genksyms/parse.y
++++ linux-2.6.23.17/scripts/genksyms/parse.y
 @@ -24,7 +24,9 @@
  %{
  
@@ -26,10 +26,10 @@ Index: linux-2.6.23-rc6/scripts/genksyms/parse.y
  #include "genksyms.h"
  
  static int is_typedef;
-Index: linux-2.6.23-rc6/scripts/kallsyms.c
+Index: linux-2.6.23.17/scripts/kallsyms.c
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/kallsyms.c	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/kallsyms.c	2007-09-21 16:24:10.000000000 +0800
+--- linux-2.6.23.17.orig/scripts/kallsyms.c
++++ linux-2.6.23.17/scripts/kallsyms.c
 @@ -28,6 +28,35 @@
  #include <stdlib.h>
  #include <string.h>
@@ -66,11 +66,11 @@ Index: linux-2.6.23-rc6/scripts/kallsyms.c
  
  #define KSYM_NAME_LEN		128
  
-Index: linux-2.6.23-rc6/scripts/kconfig/Makefile
+Index: linux-2.6.23.17/scripts/kconfig/Makefile
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/kconfig/Makefile	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/kconfig/Makefile	2007-09-21 16:24:10.000000000 +0800
-@@ -88,6 +88,9 @@
+--- linux-2.6.23.17.orig/scripts/kconfig/Makefile
++++ linux-2.6.23.17/scripts/kconfig/Makefile
+@@ -88,6 +88,9 @@ check-lxdialog  := $(srctree)/$(src)/lxd
  # we really need to do so. (Do not call gcc as part of make mrproper)
  HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
  HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
@@ -80,10 +80,10 @@ Index: linux-2.6.23-rc6/scripts/kconfig/Makefile
  
  HOST_EXTRACFLAGS += -DLOCALE
  
-Index: linux-2.6.23-rc6/scripts/mod/mk_elfconfig.c
+Index: linux-2.6.23.17/scripts/mod/mk_elfconfig.c
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/mod/mk_elfconfig.c	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/mod/mk_elfconfig.c	2007-09-21 16:24:10.000000000 +0800
+--- linux-2.6.23.17.orig/scripts/mod/mk_elfconfig.c
++++ linux-2.6.23.17/scripts/mod/mk_elfconfig.c
 @@ -1,7 +1,11 @@
  #include <stdio.h>
  #include <stdlib.h>
@@ -96,10 +96,10 @@ Index: linux-2.6.23-rc6/scripts/mod/mk_elfconfig.c
  
  int
  main(int argc, char **argv)
-Index: linux-2.6.23-rc6/scripts/mod/modpost.h
+Index: linux-2.6.23.17/scripts/mod/modpost.h
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/mod/modpost.h	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/mod/modpost.h	2007-09-21 16:24:10.000000000 +0800
+--- linux-2.6.23.17.orig/scripts/mod/modpost.h
++++ linux-2.6.23.17/scripts/mod/modpost.h
 @@ -7,7 +7,11 @@
  #include <sys/mman.h>
  #include <fcntl.h>
diff --git a/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch b/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch
index 9b1f1b267..18205401e 100644
--- a/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/903-stddef_include.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/include/linux/stddef.h
+Index: linux-2.6.23.17/include/linux/stddef.h
 ===================================================================
---- linux-2.6.23-rc6.orig/include/linux/stddef.h	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/include/linux/stddef.h	2007-09-21 16:24:10.000000000 +0800
-@@ -16,6 +16,7 @@
+--- linux-2.6.23.17.orig/include/linux/stddef.h
++++ linux-2.6.23.17/include/linux/stddef.h
+@@ -16,6 +16,7 @@ enum {
  	false	= 0,
  	true	= 1
  };
@@ -10,7 +10,7 @@ Index: linux-2.6.23-rc6/include/linux/stddef.h
  
  #undef offsetof
  #ifdef __compiler_offsetof
-@@ -23,6 +24,5 @@
+@@ -23,6 +24,5 @@ enum {
  #else
  #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
  #endif
diff --git a/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch b/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch
index 3b419c390..d62f8e327 100644
--- a/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/904-ls_time_locale.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23-rc6/scripts/gen_initramfs_list.sh
+Index: linux-2.6.23.17/scripts/gen_initramfs_list.sh
 ===================================================================
---- linux-2.6.23-rc6.orig/scripts/gen_initramfs_list.sh	2007-09-21 16:23:51.000000000 +0800
-+++ linux-2.6.23-rc6/scripts/gen_initramfs_list.sh	2007-09-21 16:24:11.000000000 +0800
-@@ -125,7 +125,7 @@
+--- linux-2.6.23.17.orig/scripts/gen_initramfs_list.sh
++++ linux-2.6.23.17/scripts/gen_initramfs_list.sh
+@@ -125,7 +125,7 @@ parse() {
  			str="${ftype} ${name} ${location} ${str}"
  			;;
  		"nod")
@@ -11,7 +11,7 @@ Index: linux-2.6.23-rc6/scripts/gen_initramfs_list.sh
  			local maj=`field 5 ${dev}`
  			local min=`field 6 ${dev}`
  			maj=${maj%,}
-@@ -135,7 +135,7 @@
+@@ -135,7 +135,7 @@ parse() {
  			str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
  			;;
  		"slink")
diff --git a/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch b/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch
index e985d3f4c..cc2e1b66d 100644
--- a/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/905-i386_build.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23.9/arch/i386/boot/tools/build.c
+Index: linux-2.6.23.17/arch/i386/boot/tools/build.c
 ===================================================================
---- linux-2.6.23.9.orig/arch/i386/boot/tools/build.c	2007-12-12 01:10:17.967096643 +0100
-+++ linux-2.6.23.9/arch/i386/boot/tools/build.c	2007-12-12 01:10:22.051329391 +0100
+--- linux-2.6.23.17.orig/arch/i386/boot/tools/build.c
++++ linux-2.6.23.17/arch/i386/boot/tools/build.c
 @@ -29,7 +29,6 @@
  #include <stdarg.h>
  #include <sys/types.h>
diff --git a/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch b/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch
index e8213bec0..2900e13ab 100644
--- a/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/910-arm_binutils_build_id_fix.patch
@@ -22,10 +22,10 @@ Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 ---
 
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index fa4ea9f..6c2d539 100644
---- a/arch/arm/Makefile
-+++ b/arch/arm/Makefile
+Index: linux-2.6.23.17/arch/arm/Makefile
+===================================================================
+--- linux-2.6.23.17.orig/arch/arm/Makefile
++++ linux-2.6.23.17/arch/arm/Makefile
 @@ -12,7 +12,7 @@
  
  LDFLAGS_vmlinux	:=-p --no-undefined -X
diff --git a/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch b/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch
index 81c206b65..9277444ab 100644
--- a/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/920-gpio_dev.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.23.14/arch/arm/Kconfig
+Index: linux-2.6.23.17/arch/arm/Kconfig
 ===================================================================
---- linux-2.6.23.14.orig/arch/arm/Kconfig	2008-01-26 02:46:18.000000000 +0100
-+++ linux-2.6.23.14/arch/arm/Kconfig	2008-01-26 02:46:33.000000000 +0100
-@@ -1039,6 +1039,8 @@
+--- linux-2.6.23.17.orig/arch/arm/Kconfig
++++ linux-2.6.23.17/arch/arm/Kconfig
+@@ -1039,6 +1039,8 @@ source "drivers/mfd/Kconfig"
  
  source "drivers/leds/Kconfig"
  
@@ -11,11 +11,11 @@ Index: linux-2.6.23.14/arch/arm/Kconfig
  source "drivers/media/Kconfig"
  
  source "drivers/video/Kconfig"
-Index: linux-2.6.23.14/drivers/Kconfig
+Index: linux-2.6.23.17/drivers/Kconfig
 ===================================================================
---- linux-2.6.23.14.orig/drivers/Kconfig	2008-01-26 02:45:44.000000000 +0100
-+++ linux-2.6.23.14/drivers/Kconfig	2008-01-26 02:46:05.000000000 +0100
-@@ -74,6 +74,8 @@
+--- linux-2.6.23.17.orig/drivers/Kconfig
++++ linux-2.6.23.17/drivers/Kconfig
+@@ -76,6 +76,8 @@ source "drivers/mmc/Kconfig"
  
  source "drivers/leds/Kconfig"
  
@@ -24,11 +24,11 @@ Index: linux-2.6.23.14/drivers/Kconfig
  source "drivers/infiniband/Kconfig"
  
  source "drivers/edac/Kconfig"
-Index: linux-2.6.23.14/drivers/Makefile
+Index: linux-2.6.23.17/drivers/Makefile
 ===================================================================
---- linux-2.6.23.14.orig/drivers/Makefile	2008-01-26 02:44:13.000000000 +0100
-+++ linux-2.6.23.14/drivers/Makefile	2008-01-26 02:44:42.000000000 +0100
-@@ -88,3 +88,4 @@
+--- linux-2.6.23.17.orig/drivers/Makefile
++++ linux-2.6.23.17/drivers/Makefile
+@@ -89,3 +89,4 @@ obj-$(CONFIG_DMA_ENGINE)	+= dma/
  obj-$(CONFIG_HID)		+= hid/
  obj-$(CONFIG_PPC_PS3)		+= ps3/
  obj-$(CONFIG_OF)		+= of/
diff --git a/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch b/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch
index 939e590a1..aef121181 100644
--- a/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/920-ppc_big_endian_io_memory_accessors.patch
@@ -30,10 +30,11 @@ and didn't make it with the ppc32 equivalent. Thanks.
 
 
 ---
-diff -uprN a/include/asm-ppc/io.h b/include/asm-ppc/io.h
---- a/include/asm-ppc/io.h	2005-08-21 17:49:44.000000000 -0400
-+++ b/include/asm-ppc/io.h	2005-08-21 20:29:55.000000000 -0400
-@@ -487,11 +487,21 @@ static inline unsigned int ioread16(void
+Index: linux-2.6.23.17/include/asm-ppc/io.h
+===================================================================
+--- linux-2.6.23.17.orig/include/asm-ppc/io.h
++++ linux-2.6.23.17/include/asm-ppc/io.h
+@@ -453,11 +453,21 @@ static inline unsigned int ioread16(void
  	return readw(addr);
  }
  
@@ -55,7 +56,7 @@ diff -uprN a/include/asm-ppc/io.h b/include/asm-ppc/io.h
  static inline void iowrite8(u8 val, void __iomem *addr)
  {
  	writeb(val, addr);
-@@ -502,11 +512,21 @@ static inline void iowrite16(u16 val, vo
+@@ -468,11 +478,21 @@ static inline void iowrite16(u16 val, vo
  	writew(val, addr);
  }
  
@@ -77,4 +78,3 @@ diff -uprN a/include/asm-ppc/io.h b/include/asm-ppc/io.h
  static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count)
  {
  	_insb(addr, dst, count);
-
diff --git a/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch
index aa4e6ee0a..9a3ac1542 100644
--- a/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/921-gpio_spi_driver.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.23.16/drivers/spi/Kconfig
+Index: linux-2.6.23.17/drivers/spi/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/spi/Kconfig
-+++ linux-2.6.23.16/drivers/spi/Kconfig
+--- linux-2.6.23.17.orig/drivers/spi/Kconfig
++++ linux-2.6.23.17/drivers/spi/Kconfig
 @@ -100,6 +100,11 @@ config SPI_BUTTERFLY
  	  inexpensive battery powered microcontroller evaluation board.
  	  This same cable can be used to flash new firmware.
@@ -14,10 +14,10 @@ Index: linux-2.6.23.16/drivers/spi/Kconfig
  config SPI_IMX
  	tristate "Freescale iMX SPI controller"
  	depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL
-Index: linux-2.6.23.16/drivers/spi/Makefile
+Index: linux-2.6.23.17/drivers/spi/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/spi/Makefile
-+++ linux-2.6.23.16/drivers/spi/Makefile
+--- linux-2.6.23.17.orig/drivers/spi/Makefile
++++ linux-2.6.23.17/drivers/spi/Makefile
 @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN)			+= spi_bfin5xx.
  obj-$(CONFIG_SPI_BITBANG)		+= spi_bitbang.o
  obj-$(CONFIG_SPI_AU1550)		+= au1550_spi.o
diff --git a/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch b/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch
index 43d73d0bf..4a66308ec 100644
--- a/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/922-w1_gpio_driver_backport.patch
@@ -1,7 +1,7 @@
-Index: linux-2.6.24.5/drivers/w1/masters/Kconfig
+Index: linux-2.6.23.17/drivers/w1/masters/Kconfig
 ===================================================================
---- linux-2.6.23.16.orig/drivers/w1/masters/Kconfig
-+++ linux-2.6.23.16/drivers/w1/masters/Kconfig
+--- linux-2.6.23.17.orig/drivers/w1/masters/Kconfig
++++ linux-2.6.23.17/drivers/w1/masters/Kconfig
 @@ -42,5 +42,15 @@ config W1_MASTER_DS1WM
  	  in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like
  	  hx4700.
@@ -18,19 +18,19 @@ Index: linux-2.6.24.5/drivers/w1/masters/Kconfig
 +
  endmenu
  
-Index: linux-2.6.23.16/drivers/w1/masters/Makefile
+Index: linux-2.6.23.17/drivers/w1/masters/Makefile
 ===================================================================
---- linux-2.6.23.16.orig/drivers/w1/masters/Makefile
-+++ linux-2.6.23.16/drivers/w1/masters/Makefile
+--- linux-2.6.23.17.orig/drivers/w1/masters/Makefile
++++ linux-2.6.23.17/drivers/w1/masters/Makefile
 @@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX)		+= matro
  obj-$(CONFIG_W1_MASTER_DS2490)		+= ds2490.o
  obj-$(CONFIG_W1_MASTER_DS2482)		+= ds2482.o
  obj-$(CONFIG_W1_MASTER_DS1WM)		+= ds1wm.o
 +obj-$(CONFIG_W1_MASTER_GPIO)		+= w1-gpio.o
-Index: linux-2.6.23.16/drivers/w1/masters/w1-gpio.c
+Index: linux-2.6.23.17/drivers/w1/masters/w1-gpio.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/drivers/w1/masters/w1-gpio.c
++++ linux-2.6.23.17/drivers/w1/masters/w1-gpio.c
 @@ -0,0 +1,124 @@
 +/*
 + * w1-gpio - GPIO w1 bus master driver
@@ -156,10 +156,10 @@ Index: linux-2.6.23.16/drivers/w1/masters/w1-gpio.c
 +MODULE_DESCRIPTION("GPIO w1 bus master driver");
 +MODULE_AUTHOR("Ville Syrjala <syrjala@sci.fi>");
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.23.16/include/linux/w1-gpio.h
+Index: linux-2.6.23.17/include/linux/w1-gpio.h
 ===================================================================
 --- /dev/null
-+++ linux-2.6.23.16/include/linux/w1-gpio.h
++++ linux-2.6.23.17/include/linux/w1-gpio.h
 @@ -0,0 +1,23 @@
 +/*
 + * w1-gpio interface to platform code
diff --git a/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch b/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch
index caec3bd56..6658d2b39 100644
--- a/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch
+++ b/target/linux/generic-2.6/patches-2.6.23/930-ssb_fixes.patch
@@ -1,19 +1,19 @@
 This patch ports ssb to the 2.6.23 kernel.
 
-Index: linux-2.6.23.16/drivers/ssb/driver_mipscore.c
+Index: linux-2.6.23.17/drivers/ssb/driver_mipscore.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/driver_mipscore.c	2008-03-21 17:33:28.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/driver_mipscore.c	2008-03-21 17:33:34.000000000 +0100
-@@ -222,3 +222,5 @@ void ssb_mipscore_init(struct ssb_mipsco
+--- linux-2.6.23.17.orig/drivers/ssb/driver_mipscore.c
++++ linux-2.6.23.17/drivers/ssb/driver_mipscore.c
+@@ -223,3 +223,5 @@ void ssb_mipscore_init(struct ssb_mipsco
  	ssb_mips_serial_init(mcore);
  	ssb_mips_flash_detect(mcore);
  }
 +
 +EXPORT_SYMBOL(ssb_mips_irq);
-Index: linux-2.6.23.16/include/linux/mod_devicetable.h
+Index: linux-2.6.23.17/include/linux/mod_devicetable.h
 ===================================================================
---- linux-2.6.23.16.orig/include/linux/mod_devicetable.h	2008-03-21 17:33:28.000000000 +0100
-+++ linux-2.6.23.16/include/linux/mod_devicetable.h	2008-03-21 17:33:34.000000000 +0100
+--- linux-2.6.23.17.orig/include/linux/mod_devicetable.h
++++ linux-2.6.23.17/include/linux/mod_devicetable.h
 @@ -352,4 +352,19 @@ struct parisc_device_id {
  #define PA_HVERSION_ANY_ID	0xffff
  #define PA_SVERSION_ANY_ID	0xffffffff
@@ -34,10 +34,10 @@ Index: linux-2.6.23.16/include/linux/mod_devicetable.h
 +#define SSB_ANY_REV		0xFF
 +
  #endif /* LINUX_MOD_DEVICETABLE_H */
-Index: linux-2.6.23.16/drivers/ssb/main.c
+Index: linux-2.6.23.17/drivers/ssb/main.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/main.c	2008-03-21 17:33:28.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/main.c	2008-03-21 17:33:34.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/ssb/main.c
++++ linux-2.6.23.17/drivers/ssb/main.c
 @@ -321,14 +321,16 @@ static int ssb_bus_match(struct device *
  	return 0;
  }
@@ -57,10 +57,10 @@ Index: linux-2.6.23.16/drivers/ssb/main.c
  			     "MODALIAS=ssb:v%04Xid%04Xrev%02X",
  			     ssb_dev->id.vendor, ssb_dev->id.coreid,
  			     ssb_dev->id.revision);
-Index: linux-2.6.23.16/drivers/ssb/scan.c
+Index: linux-2.6.23.17/drivers/ssb/scan.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/scan.c	2008-03-21 17:33:28.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/scan.c	2008-03-21 17:33:34.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/ssb/scan.c
++++ linux-2.6.23.17/drivers/ssb/scan.c
 @@ -391,12 +391,14 @@ int ssb_bus_scan(struct ssb_bus *bus,
  			if (bus->bustype == SSB_BUSTYPE_PCI) {
  				/* Ignore PCI cores on PCI-E cards.
@@ -80,10 +80,10 @@ Index: linux-2.6.23.16/drivers/ssb/scan.c
  				}
  			}
  			if (bus->pcicore.dev) {
-Index: linux-2.6.23.16/drivers/ssb/driver_pcicore.c
+Index: linux-2.6.23.17/drivers/ssb/driver_pcicore.c
 ===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/driver_pcicore.c	2008-03-21 17:33:28.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/driver_pcicore.c	2008-03-21 17:33:34.000000000 +0100
+--- linux-2.6.23.17.orig/drivers/ssb/driver_pcicore.c
++++ linux-2.6.23.17/drivers/ssb/driver_pcicore.c
 @@ -362,7 +362,7 @@ static int pcicore_is_in_hostmode(struct
  	    chipid_top != 0x5300)
  		return 0;
-- 
2.20.1