--- /dev/null
+From aradford@gmail.com Tue Apr 11 11:25:12 2006
+Message-ID: <b1bc6a000604111125s74a95319m39e23598ed4755a5@mail.gmail.com>
+Date: Tue, 11 Apr 2006 11:25:09 -0700
+From: "adam radford" <aradford@gmail.com>
+To: "James Bottomley" <James.Bottomley@steeleye.com>,
+ "SCSI Mailing List" <linux-scsi@vger.kernel.org>
+Subject: 3ware 9000 disable local irqs during kmap_atomic
+
+
+The attached patch for 2.6.17-rc2 updates the 3ware 9000 driver:
+
+- Disable local interrupts during kmap/unmap_atomic().
+
+Signed-off-by: Adam Radford <linuxraid@amcc.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/scsi/3w-9xxx.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- linux-2.6.16.9.orig/drivers/scsi/3w-9xxx.c
++++ linux-2.6.16.9/drivers/scsi/3w-9xxx.c
+@@ -85,7 +85,7 @@
+ #include "3w-9xxx.h"
+
+ /* Globals */
+-#define TW_DRIVER_VERSION "2.26.02.005"
++#define TW_DRIVER_VERSION "2.26.02.007"
+ static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
+ static unsigned int twa_device_extension_count;
+ static int twa_major = -1;
+@@ -1944,9 +1944,13 @@ static void twa_scsiop_execute_scsi_comp
+ }
+ if (tw_dev->srb[request_id]->use_sg == 1) {
+ struct scatterlist *sg = (struct scatterlist *)tw_dev->srb[request_id]->request_buffer;
+- char *buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
++ char *buf;
++ unsigned long flags = 0;
++ local_irq_save(flags);
++ buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
+ memcpy(buf, tw_dev->generic_buffer_virt[request_id], sg->length);
+ kunmap_atomic(buf - sg->offset, KM_IRQ0);
++ local_irq_restore(flags);
+ }
+ }
+ } /* End twa_scsiop_execute_scsi_complete() */
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Apr 14 14:50:05 2006
+Date: Fri, 14 Apr 2006 14:52:14 -0700
+From: Andrew Morton <akpm@osdl.org>
+To: stable@kernel.org
+Message-Id: <20060414145214.55f1d556.akpm@osdl.org>
+Cc: James Bottomley <James.Bottomley@SteelEye.com>, linuxraid@amcc.com
+Subject: 3ware: kmap_atomic() fix
+
+
+From: Andrew Morton <akpm@osdl.org>
+
+We must disable local IRQs while holding KM_IRQ0 or KM_IRQ1. Otherwise, an
+IRQ handler could use those kmap slots while this code is using them,
+resulting in memory corruption.
+
+Thanks to Nick Orlov <bugfixer@list.ru> for reporting.
+
+Cc: <linuxraid@amcc.com>
+Cc: James Bottomley <James.Bottomley@SteelEye.com>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/scsi/3w-xxxx.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- linux-2.6.16.9.orig/drivers/scsi/3w-xxxx.c
++++ linux-2.6.16.9/drivers/scsi/3w-xxxx.c
+@@ -1508,10 +1508,12 @@ static void tw_transfer_internal(TW_Devi
+ struct scsi_cmnd *cmd = tw_dev->srb[request_id];
+ void *buf;
+ unsigned int transfer_len;
++ unsigned long flags = 0;
+
+ if (cmd->use_sg) {
+ struct scatterlist *sg =
+ (struct scatterlist *)cmd->request_buffer;
++ local_irq_save(flags);
+ buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
+ transfer_len = min(sg->length, len);
+ } else {
+@@ -1526,6 +1528,7 @@ static void tw_transfer_internal(TW_Devi
+
+ sg = (struct scatterlist *)cmd->request_buffer;
+ kunmap_atomic(buf - sg->offset, KM_IRQ0);
++ local_irq_restore(flags);
+ }
+ }
+
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Apr 14 17:30:59 2006
+Message-ID: <44403EA0.5000006@zytor.com>
+Date: Fri, 14 Apr 2006 17:30:24 -0700
+From: "H. Peter Anvin" <hpa@zytor.com>
+To: stable@kernel.org
+Cc:
+Subject: efficeon-agp: Add missing memory mask
+
+Original patch by Benjamin Herrenschmidt after debugging by Brian Hinz.
+
+Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Cc: Brian Hinz <bphinz@hotmail.com>
+Signed-off-by: H. Peter Anvin <hpa@zytor.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/char/agp/efficeon-agp.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- linux-2.6.16.9.orig/drivers/char/agp/efficeon-agp.c
++++ linux-2.6.16.9/drivers/char/agp/efficeon-agp.c
+@@ -64,6 +64,12 @@ static struct gatt_mask efficeon_generic
+ {.mask = 0x00000001, .type = 0}
+ };
+
++/* This function does the same thing as mask_memory() for this chipset... */
++static inline unsigned long efficeon_mask_memory(unsigned long addr)
++{
++ return addr | 0x00000001;
++}
++
+ static struct aper_size_info_lvl2 efficeon_generic_sizes[4] =
+ {
+ {256, 65536, 0},
+@@ -251,7 +257,7 @@ static int efficeon_insert_memory(struct
+ last_page = NULL;
+ for (i = 0; i < count; i++) {
+ int index = pg_start + i;
+- unsigned long insert = mem->memory[i];
++ unsigned long insert = efficeon_mask_memory(mem->memory[i]);
+
+ page = (unsigned int *) efficeon_private.l1_table[index >> 10];
+
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 21:43:55 2006
+Date: Tue, 18 Apr 2006 21:43:31 -0700 (PDT)
+Message-Id: <20060418.214331.80577176.davem@davemloft.net>
+To: stable@kernel.org
+From: "David S. Miller" <davem@davemloft.net>
+Cc:
+Subject: [TCP]: Fix truesize underflow
+
+
+From: Herbert Xu <herbert@gondor.apana.org.au>
+
+[TCP]: Fix truesize underflow
+
+There is a problem with the TSO packet trimming code. The cause of
+this lies in the tcp_fragment() function.
+
+When we allocate a fragment for a completely non-linear packet the
+truesize is calculated for a payload length of zero. This means that
+truesize could in fact be less than the real payload length.
+
+When that happens the TSO packet trimming can cause truesize to become
+negative. This in turn can cause sk_forward_alloc to be -n * PAGE_SIZE
+which would trigger the warning.
+
+I've copied the code DaveM used in tso_fragment which should work here.
+
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/ipv4/tcp_output.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- linux-2.6.16.9.orig/net/ipv4/tcp_output.c
++++ linux-2.6.16.9/net/ipv4/tcp_output.c
+@@ -537,7 +537,9 @@ int tcp_fragment(struct sock *sk, struct
+ buff = sk_stream_alloc_skb(sk, nsize, GFP_ATOMIC);
+ if (buff == NULL)
+ return -ENOMEM; /* We'll just try again later. */
+- sk_charge_skb(sk, buff);
++
++ buff->truesize = skb->len - len;
++ skb->truesize -= buff->truesize;
+
+ /* Correct the sequence numbers. */
+ TCP_SKB_CB(buff)->seq = TCP_SKB_CB(skb)->seq + len;
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 21:21:06 2006
+Message-ID: <4445BB0F.6010305@ums.usu.ru>
+Date: Wed, 19 Apr 2006 10:22:39 +0600
+From: "Alexander E. Patrakov" <patrakov@ums.usu.ru>
+To: Greg KH <greg@kroah.com>
+Cc: LKML <linux-kernel@vger.kernel.org>, stable@kernel.org
+Subject: [NET]: Fix hotplug race during device registration
+
+From: Thomas de Grenier de Latour <degrenier@easyconnect.fr>
+
+On Sun, 9 Apr 2006 21:56:59 +0400,
+Sergey Vlasov <vsu@altlinux.ru> wrote:
+> However, show_address() does not output anything unless
+> dev->reg_state == NETREG_REGISTERED - and this state is set by
+> netdev_run_todo() only after netdev_register_sysfs() returns, so in
+> the meantime (while netdev_register_sysfs() is busy adding the
+> "statistics" attribute group) some process may see an empty "address"
+> attribute.
+
+I've tried the attached patch, suggested by Sergey Vlasov on
+hotplug-devel@, and as far as i can test it works just fine.
+
+Signed-off-by: Alexander E. Patrakov <patrakov@ums.usu.ru>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/core/dev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.16.9.orig/net/core/dev.c
++++ linux-2.6.16.9/net/core/dev.c
+@@ -2932,11 +2932,11 @@ void netdev_run_todo(void)
+
+ switch(dev->reg_state) {
+ case NETREG_REGISTERING:
++ dev->reg_state = NETREG_REGISTERED;
+ err = netdev_register_sysfs(dev);
+ if (err)
+ printk(KERN_ERR "%s: failed sysfs registration (%d)\n",
+ dev->name, err);
+- dev->reg_state = NETREG_REGISTERED;
+ break;
+
+ case NETREG_UNREGISTERING:
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 07:02:07 2006
+Date: Tue, 18 Apr 2006 14:15:59 +0200
+From: Jean Delvare <khali@linux-fr.org>
+To: stable@kernel.org
+Message-Id: <20060418141559.a76db755.khali@linux-fr.org>
+Cc:
+Subject: i2c-i801: Fix resume when PEC is used
+
+Fix for bug #6395:
+Fail to resume on Tecra M2 with ADM1032 and Intel 82801DBM
+
+The BIOS of the Tecra M2 doesn't like it when it has to reboot or
+resume after the i2c-i801 driver has left the SMBus in PEC mode.
+I have a more complete fix for 2.6.17 but the simple approach of
+leaving the SMBus in non-PEC mode after every transaction should do
+for -stable. That's what the i2c-i801 driver was doing up to 2.6.15
+(inclusive).
+
+Signed-off-by: Jean Delvare <khali@linux-fr.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/i2c/busses/i2c-i801.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- linux-2.6.16.9.orig/drivers/i2c/busses/i2c-i801.c
++++ linux-2.6.16.9/drivers/i2c/busses/i2c-i801.c
+@@ -478,6 +478,11 @@ static s32 i801_access(struct i2c_adapte
+ ret = i801_transaction();
+ }
+
++ /* Some BIOSes don't like it when PEC is enabled at reboot or resume
++ time, so we forcibly disable it after every transaction. */
++ if (hwpec)
++ outb_p(0, SMBAUXCTL);
++
+ if(block)
+ return ret;
+ if(ret)
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 19:12:27 2006
+Date: Wed, 19 Apr 2006 11:13:58 +0900 (JST)
+Message-Id: <20060419.111358.56866252.yoshfuji@linux-ipv6.org>
+To: stable@kernel.org
+From: YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
+ <yoshfuji@linux-ipv6.org>
+Cc: netdev-core@vger.kernel.org, yoshfuji@linux-ipv6.org
+Subject: IPV6: Ensure to have hop-by-hop options in our header of &sk_buff.
+
+[IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.
+
+Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+
+---
+ net/ipv6/exthdrs.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- linux-2.6.16.9.orig/net/ipv6/exthdrs.c
++++ linux-2.6.16.9/net/ipv6/exthdrs.c
+@@ -489,6 +489,18 @@ int ipv6_parse_hopopts(struct sk_buff *s
+ {
+ struct inet6_skb_parm *opt = IP6CB(skb);
+
++ /*
++ * skb->nh.raw is equal to skb->data, and
++ * skb->h.raw - skb->nh.raw is always equal to
++ * sizeof(struct ipv6hdr) by definition of
++ * hop-by-hop options.
++ */
++ if (!pskb_may_pull(skb, sizeof(struct ipv6hdr) + 8) ||
++ !pskb_may_pull(skb, sizeof(struct ipv6hdr) + ((skb->h.raw[1] + 1) << 3))) {
++ kfree_skb(skb);
++ return -1;
++ }
++
+ opt->hop = sizeof(struct ipv6hdr);
+ if (ip6_parse_tlv(tlvprochopopt_lst, skb)) {
+ skb->h.raw += (skb->h.raw[1]+1)<<3;
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 19:12:31 2006
+Date: Wed, 19 Apr 2006 11:14:07 +0900 (JST)
+Message-Id: <20060419.111407.100375776.yoshfuji@linux-ipv6.org>
+To: stable@kernel.org
+From: YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
+ <yoshfuji@linux-ipv6.org>
+Cc: netdev-core@vger.kernel.org, yoshfuji@linux-ipv6.org
+Subject: IPV6: XFRM: Don't use old copy of pointer after pskb_may_pull().
+
+[IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().
+
+Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+
+---
+ net/ipv6/xfrm6_policy.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- linux-2.6.16.9.orig/net/ipv6/xfrm6_policy.c
++++ linux-2.6.16.9/net/ipv6/xfrm6_policy.c
+@@ -193,7 +193,7 @@ _decode_session6(struct sk_buff *skb, st
+ {
+ u16 offset = sizeof(struct ipv6hdr);
+ struct ipv6hdr *hdr = skb->nh.ipv6h;
+- struct ipv6_opt_hdr *exthdr = (struct ipv6_opt_hdr*)(skb->nh.raw + offset);
++ struct ipv6_opt_hdr *exthdr;
+ u8 nexthdr = skb->nh.ipv6h->nexthdr;
+
+ memset(fl, 0, sizeof(struct flowi));
+@@ -201,6 +201,8 @@ _decode_session6(struct sk_buff *skb, st
+ ipv6_addr_copy(&fl->fl6_src, &hdr->saddr);
+
+ while (pskb_may_pull(skb, skb->nh.raw + offset + 1 - skb->data)) {
++ exthdr = (struct ipv6_opt_hdr*)(skb->nh.raw + offset);
++
+ switch (nexthdr) {
+ case NEXTHDR_ROUTING:
+ case NEXTHDR_HOP:
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 19:12:27 2006
+Date: Wed, 19 Apr 2006 11:14:23 +0900 (JST)
+Message-Id: <20060419.111423.48104035.yoshfuji@linux-ipv6.org>
+To: stable@kernel.org
+From: YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
+ <yoshfuji@linux-ipv6.org>
+Cc: netdev-core@vger.kernel.org, yoshfuji@linux-ipv6.org,
+ kazunori@miyazawa.org, takamiya@po.ntts.co.jp
+Subject: IPV6: XFRM: Fix decoding session with preceding extension header(s).
+
+[IPV6] XFRM: Fix decoding session with preceding extension header(s).
+
+We did not correctly decode session with preceding extension
+header(s). This was because we had already pulled preceding
+headers, skb->nh.raw + 40 + 1 - skb->data was minus, and
+pskb_may_pull() failed.
+
+We now have IP6CB(skb)->nhoff and skb->h.raw, and we can
+start parsing / decoding upper layer protocol from current
+position.
+
+Tracked down by Noriaki TAKAMIYA <takamiya@po.ntts.co.jp>
+and tested by Kazunori Miyazawa <kazunori@miyazawa.org>.
+
+Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/ipv6/xfrm6_policy.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- linux-2.6.16.9.orig/net/ipv6/xfrm6_policy.c
++++ linux-2.6.16.9/net/ipv6/xfrm6_policy.c
+@@ -191,10 +191,10 @@ error:
+ static inline void
+ _decode_session6(struct sk_buff *skb, struct flowi *fl)
+ {
+- u16 offset = sizeof(struct ipv6hdr);
++ u16 offset = skb->h.raw - skb->nh.raw;
+ struct ipv6hdr *hdr = skb->nh.ipv6h;
+ struct ipv6_opt_hdr *exthdr;
+- u8 nexthdr = skb->nh.ipv6h->nexthdr;
++ u8 nexthdr = skb->nh.raw[IP6CB(skb)->nhoff];
+
+ memset(fl, 0, sizeof(struct flowi));
+ ipv6_addr_copy(&fl->fl6_dst, &hdr->daddr);
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 16:49:56 2006
+Date: Wed, 19 Apr 2006 01:49:31 +0200
+From: Adrian Bunk <bunk@stusta.de>
+To: stable@kernel.org
+Message-ID: <20060418234931.GB11582@stusta.de>
+Content-Disposition: inline
+Cc: "Artem B. Bityutskiy" <dedekind@yandex.ru>, dwmw2@infradead.org,
+ Thomas Gleixner <tglx@linutronix.de>,
+ Richard Purdie <rpurdie@rpsys.net>
+Subject: MTD_NAND_SHARPSL and MTD_NAND_NANDSIM should be tristate's
+
+MTD_NAND=m and MTD_NAND_SHARPSL=y or MTD_NAND_NANDSIM=y are illegal
+combinations that mustn't be allowed.
+
+This patch fixes this bug by making MTD_NAND_SHARPSL and MTD_NAND_NANDSIM
+tristate's.
+
+Additionally, it fixes some whitespace damage at these options.
+
+This patch was already included in Linus' tree.
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/mtd/nand/Kconfig | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+--- linux-2.6.16.9.orig/drivers/mtd/nand/Kconfig
++++ linux-2.6.16.9/drivers/mtd/nand/Kconfig
+@@ -178,17 +178,16 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
+ Even if you leave this disabled, you can enable BBT writes at module
+ load time (assuming you build diskonchip as a module) with the module
+ parameter "inftl_bbt_write=1".
+-
+- config MTD_NAND_SHARPSL
+- bool "Support for NAND Flash on Sharp SL Series (C7xx + others)"
+- depends on MTD_NAND && ARCH_PXA
+-
+- config MTD_NAND_NANDSIM
+- bool "Support for NAND Flash Simulator"
+- depends on MTD_NAND && MTD_PARTITIONS
+
++config MTD_NAND_SHARPSL
++ tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
++ depends on MTD_NAND && ARCH_PXA
++
++config MTD_NAND_NANDSIM
++ tristate "Support for NAND Flash Simulator"
++ depends on MTD_NAND && MTD_PARTITIONS
+ help
+ The simulator may simulate verious NAND flash chips for the
+ MTD nand layer.
+-
++
+ endmenu
--- /dev/null
+From stable-bounces@linux.kernel.org Thu Apr 20 12:01:55 2006
+Date: Thu, 20 Apr 2006 20:59:10 +0200
+From: Guido Guenther <agx@sigxcpu.org>
+To: Greg KH <greg@kroah.com>
+Subject: Re: [stable] PPC: fix oops in alsa powermac driver
+Message-ID: <20060420185909.GA18032@bogon.ms20.nix>
+Content-Disposition: inline
+Cc: benh@kernel.crashing.org, stable@kernel.org
+
+this fixes an oops in 2.6.16.X when loading the snd_powermac module. The
+name of the requested module changed during the 2.6.16 development cycle
+from i2c-keylargo to i2c-powermac:
+
+Signed-off-by: Guido Guenther <agx@sigxcpu.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/macintosh/therm_adt746x.c | 4 ++--
+ sound/oss/dmasound/tas_common.c | 4 ++--
+ sound/ppc/daca.c | 2 +-
+ sound/ppc/tumbler.c | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+--- linux-2.6.16.9.orig/drivers/macintosh/therm_adt746x.c
++++ linux-2.6.16.9/drivers/macintosh/therm_adt746x.c
+@@ -627,8 +627,8 @@ thermostat_init(void)
+ if(therm_type == ADT7460)
+ device_create_file(&of_dev->dev, &dev_attr_sensor2_fan_speed);
+
+-#ifndef CONFIG_I2C_KEYWEST
+- request_module("i2c-keywest");
++#ifndef CONFIG_I2C_POWERMAC
++ request_module("i2c-powermac");
+ #endif
+
+ return i2c_add_driver(&thermostat_driver);
+--- linux-2.6.16.9.orig/sound/oss/dmasound/tas_common.c
++++ linux-2.6.16.9/sound/oss/dmasound/tas_common.c
+@@ -195,8 +195,8 @@ tas_init(int driver_id, const char *driv
+
+ printk(KERN_INFO "tas driver [%s])\n", driver_name);
+
+-#ifndef CONFIG_I2C_KEYWEST
+- request_module("i2c-keywest");
++#ifndef CONFIG_I2C_POWERMAC
++ request_module("i2c-powermac");
+ #endif
+ tas_node = find_devices("deq");
+ if (tas_node == NULL)
+--- linux-2.6.16.9.orig/sound/ppc/daca.c
++++ linux-2.6.16.9/sound/ppc/daca.c
+@@ -256,7 +256,7 @@ int __init snd_pmac_daca_init(struct snd
+
+ #ifdef CONFIG_KMOD
+ if (current->fs->root)
+- request_module("i2c-keywest");
++ request_module("i2c-powermac");
+ #endif /* CONFIG_KMOD */
+
+ mix = kmalloc(sizeof(*mix), GFP_KERNEL);
+--- linux-2.6.16.9.orig/sound/ppc/tumbler.c
++++ linux-2.6.16.9/sound/ppc/tumbler.c
+@@ -1314,7 +1314,7 @@ int __init snd_pmac_tumbler_init(struct
+
+ #ifdef CONFIG_KMOD
+ if (current->fs->root)
+- request_module("i2c-keywest");
++ request_module("i2c-powermac");
+ #endif /* CONFIG_KMOD */
+
+ mix = kmalloc(sizeof(*mix), GFP_KERNEL);
--- /dev/null
+From stable-bounces@linux.kernel.org Tue Apr 18 22:28:05 2006
+Message-Id: <200604190521.k3J5LkTw009748@shell0.pdx.osdl.net>
+To: torvalds@osdl.org
+From: akpm@osdl.org
+Date: Tue, 18 Apr 2006 22:21:04 -0700
+Cc: jmorris@redhat.com, sds@tycho.nsa.gov, stable@kernel.org,
+ rmy@tigress.co.uk
+Subject: selinux: Fix MLS compatibility off-by-one bug
+
+
+From: Ron Yorston <rmy@tigress.co.uk>
+
+Fix an off-by-one error in the MLS compatibility code that was causing
+contexts with a MLS suffix to be rejected, preventing sharing partitions
+between FC4 and FC5. Bug reported in
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188068
+
+Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
+Acked-by: James Morris <jmorris@redhat.com>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+
+ security/selinux/ss/mls.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.16.9.orig/security/selinux/ss/mls.c
++++ linux-2.6.16.9/security/selinux/ss/mls.c
+@@ -264,7 +264,7 @@ int mls_context_to_sid(char oldc,
+
+ if (!selinux_mls_enabled) {
+ if (def_sid != SECSID_NULL && oldc)
+- *scontext += strlen(*scontext);
++ *scontext += strlen(*scontext)+1;
+ return 0;
+ }
+
--- /dev/null
+3ware-kmap_atomic-fix.patch
+3ware-9000-disable-local-irqs-during-kmap_atomic.patch
+efficeon-agp-add-missing-memory-mask.patch
+fix-bug.patch
+fix-hotplug-race-during-device-registration.patch
+i2c-i801-fix-resume-when-pec-is-used.patch
+mtd_nand_sharpsl-and-mtd_nand_nandsim-should-be-tristate-s.patch
+re-ppc-fix-oops-in-alsa-powermac-driver.patch
+selinux-fix-mls-compatibility-off-by-one-bug.patch
+ipv6-ensure-to-have-hop-by-hop-options-in-our-header-of-sk_buff.patch
+ipv6-xfrm-don-t-use-old-copy-of-pointer-after-pskb_may_pull.patch
+ipv6-xfrm-fix-decoding-session-with-preceding-extension-header.patch