From: Greg Kroah-Hartman Date: Thu, 20 Apr 2006 22:25:11 +0000 (-0700) Subject: add some patches for 2.6.16 review cycle X-Git-Tag: v2.6.16.10~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e71388a5d6e18b23c26f6007b1a7a7873a32ac33;p=thirdparty%2Fkernel%2Fstable-queue.git add some patches for 2.6.16 review cycle --- diff --git a/queue-2.6.16/3ware-9000-disable-local-irqs-during-kmap_atomic.patch b/queue-2.6.16/3ware-9000-disable-local-irqs-during-kmap_atomic.patch new file mode 100644 index 00000000000..8a3d202e153 --- /dev/null +++ b/queue-2.6.16/3ware-9000-disable-local-irqs-during-kmap_atomic.patch @@ -0,0 +1,46 @@ +From aradford@gmail.com Tue Apr 11 11:25:12 2006 +Message-ID: +Date: Tue, 11 Apr 2006 11:25:09 -0700 +From: "adam radford" +To: "James Bottomley" , + "SCSI Mailing List" +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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() */ diff --git a/queue-2.6.16/3ware-kmap_atomic-fix.patch b/queue-2.6.16/3ware-kmap_atomic-fix.patch new file mode 100644 index 00000000000..1bb5a770fc5 --- /dev/null +++ b/queue-2.6.16/3ware-kmap_atomic-fix.patch @@ -0,0 +1,50 @@ +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 +To: stable@kernel.org +Message-Id: <20060414145214.55f1d556.akpm@osdl.org> +Cc: James Bottomley , linuxraid@amcc.com +Subject: 3ware: kmap_atomic() fix + + +From: Andrew Morton + +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 for reporting. + +Cc: +Cc: James Bottomley +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + 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); + } + } + diff --git a/queue-2.6.16/efficeon-agp-add-missing-memory-mask.patch b/queue-2.6.16/efficeon-agp-add-missing-memory-mask.patch new file mode 100644 index 00000000000..f08622b256c --- /dev/null +++ b/queue-2.6.16/efficeon-agp-add-missing-memory-mask.patch @@ -0,0 +1,43 @@ +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" +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 +Cc: Brian Hinz +Signed-off-by: H. Peter Anvin +Signed-off-by: Greg Kroah-Hartman + +--- + 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]; + diff --git a/queue-2.6.16/fix-bug.patch b/queue-2.6.16/fix-bug.patch new file mode 100644 index 00000000000..13044985598 --- /dev/null +++ b/queue-2.6.16/fix-bug.patch @@ -0,0 +1,47 @@ +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" +Cc: +Subject: [TCP]: Fix truesize underflow + + +From: Herbert Xu + +[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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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; diff --git a/queue-2.6.16/fix-hotplug-race-during-device-registration.patch b/queue-2.6.16/fix-hotplug-race-during-device-registration.patch new file mode 100644 index 00000000000..9cc6995c2a2 --- /dev/null +++ b/queue-2.6.16/fix-hotplug-race-during-device-registration.patch @@ -0,0 +1,45 @@ +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" +To: Greg KH +Cc: LKML , stable@kernel.org +Subject: [NET]: Fix hotplug race during device registration + +From: Thomas de Grenier de Latour + +On Sun, 9 Apr 2006 21:56:59 +0400, +Sergey Vlasov 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 +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + 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: diff --git a/queue-2.6.16/i2c-i801-fix-resume-when-pec-is-used.patch b/queue-2.6.16/i2c-i801-fix-resume-when-pec-is-used.patch new file mode 100644 index 00000000000..e826c6532a0 --- /dev/null +++ b/queue-2.6.16/i2c-i801-fix-resume-when-pec-is-used.patch @@ -0,0 +1,39 @@ +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 +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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) diff --git a/queue-2.6.16/ipv6-ensure-to-have-hop-by-hop-options-in-our-header-of-sk_buff.patch b/queue-2.6.16/ipv6-ensure-to-have-hop-by-hop-options-in-our-header-of-sk_buff.patch new file mode 100644 index 00000000000..147b49af36e --- /dev/null +++ b/queue-2.6.16/ipv6-ensure-to-have-hop-by-hop-options-in-our-header-of-sk_buff.patch @@ -0,0 +1,41 @@ +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=?= + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + +--- + 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; diff --git a/queue-2.6.16/ipv6-xfrm-don-t-use-old-copy-of-pointer-after-pskb_may_pull.patch b/queue-2.6.16/ipv6-xfrm-don-t-use-old-copy-of-pointer-after-pskb_may_pull.patch new file mode 100644 index 00000000000..55e2f0f8fa1 --- /dev/null +++ b/queue-2.6.16/ipv6-xfrm-don-t-use-old-copy-of-pointer-after-pskb_may_pull.patch @@ -0,0 +1,40 @@ +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=?= + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + +--- + 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: diff --git a/queue-2.6.16/ipv6-xfrm-fix-decoding-session-with-preceding-extension-header.patch b/queue-2.6.16/ipv6-xfrm-fix-decoding-session-with-preceding-extension-header.patch new file mode 100644 index 00000000000..b6527ebdc69 --- /dev/null +++ b/queue-2.6.16/ipv6-xfrm-fix-decoding-session-with-preceding-extension-header.patch @@ -0,0 +1,46 @@ +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=?= + +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 +and tested by Kazunori Miyazawa . + +Signed-off-by: YOSHIFUJI Hideaki +Signed-off-by: Greg Kroah-Hartman + +--- + 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); diff --git a/queue-2.6.16/mtd_nand_sharpsl-and-mtd_nand_nandsim-should-be-tristate-s.patch b/queue-2.6.16/mtd_nand_sharpsl-and-mtd_nand_nandsim-should-be-tristate-s.patch new file mode 100644 index 00000000000..81e11a337b7 --- /dev/null +++ b/queue-2.6.16/mtd_nand_sharpsl-and-mtd_nand_nandsim-should-be-tristate-s.patch @@ -0,0 +1,57 @@ +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 +To: stable@kernel.org +Message-ID: <20060418234931.GB11582@stusta.de> +Content-Disposition: inline +Cc: "Artem B. Bityutskiy" , dwmw2@infradead.org, + Thomas Gleixner , + Richard Purdie +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 +Signed-off-by: Greg Kroah-Hartman + + +--- + 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 diff --git a/queue-2.6.16/re-ppc-fix-oops-in-alsa-powermac-driver.patch b/queue-2.6.16/re-ppc-fix-oops-in-alsa-powermac-driver.patch new file mode 100644 index 00000000000..70cdf1ece4c --- /dev/null +++ b/queue-2.6.16/re-ppc-fix-oops-in-alsa-powermac-driver.patch @@ -0,0 +1,72 @@ +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 +To: Greg KH +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 +Signed-off-by: Benjamin Herrenschmidt +Signed-off-by: Greg Kroah-Hartman + +--- + 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); diff --git a/queue-2.6.16/selinux-fix-mls-compatibility-off-by-one-bug.patch b/queue-2.6.16/selinux-fix-mls-compatibility-off-by-one-bug.patch new file mode 100644 index 00000000000..3ae4d32b7b5 --- /dev/null +++ b/queue-2.6.16/selinux-fix-mls-compatibility-off-by-one-bug.patch @@ -0,0 +1,37 @@ +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 + +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 +Acked-by: James Morris +Signed-off-by: Andrew Morton +Signed-off-by: Greg Kroah-Hartman +--- + + 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; + } + diff --git a/queue-2.6.16/series b/queue-2.6.16/series new file mode 100644 index 00000000000..c13c8b92095 --- /dev/null +++ b/queue-2.6.16/series @@ -0,0 +1,12 @@ +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