From: Greg Kroah-Hartman Date: Mon, 13 Aug 2007 23:28:29 +0000 (-0700) Subject: more 2.6.22 patches added X-Git-Tag: v2.6.22.3~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5da8550633cafa1714322c003cb0915687af711f;p=thirdparty%2Fkernel%2Fstable-queue.git more 2.6.22 patches added --- diff --git a/queue-2.6.22/direct-io-fix-error-path-crashes.patch b/queue-2.6.22/direct-io-fix-error-path-crashes.patch new file mode 100644 index 00000000000..83816c73f5c --- /dev/null +++ b/queue-2.6.22/direct-io-fix-error-path-crashes.patch @@ -0,0 +1,41 @@ +From akpm@linux-foundation.org Mon Aug 13 16:18:09 2007 +From: Badari Pulavarty +Date: Fri, 10 Aug 2007 13:00:44 -0700 +Subject: direct-io: fix error-path crashes +To: torvalds@linux-foundation.org +Cc: gurudas.pai@oracle.com, zach.brown@oracle.com, joe.jin@oracle.com, pbadari@us.ibm.com, akpm@linux-foundation.org, stable@kernel.org +Message-ID: <200708102000.l7AK0iSY005849@imap1.linux-foundation.org> + + +From: Badari Pulavarty + +Need to initialize map_bh.b_state to zero. Otherwise, in case of a faulty +user-buffer its possible to go into dio_zero_block() and submit a page by +mistake - since it checks for buffer_new(). + +http://marc.info/?l=linux-kernel&m=118551339032528&w=2 + +akpm: Linus had a (better) patch to just do a kzalloc() in there, but it got +lost. Probably this version is better for -stable anwyay. + +Signed-off-by: Badari Pulavarty +Acked-by: Joe Jin +Acked-by: Zach Brown +Cc: gurudas pai +Signed-off-by: Andrew Morton +Signed-off-by: Greg Kroah-Hartman + +--- + fs/direct-io.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/fs/direct-io.c ++++ b/fs/direct-io.c +@@ -974,6 +974,7 @@ direct_io_worker(int rw, struct kiocb *i + dio->get_block = get_block; + dio->end_io = end_io; + dio->map_bh.b_private = NULL; ++ dio->map_bh.b_state = 0; + dio->final_block_in_bio = -1; + dio->next_block_for_io = -1; + diff --git a/queue-2.6.22/pata_atiixp-add-sb700-pci-id.patch b/queue-2.6.22/pata_atiixp-add-sb700-pci-id.patch new file mode 100644 index 00000000000..ad1177d30a0 --- /dev/null +++ b/queue-2.6.22/pata_atiixp-add-sb700-pci-id.patch @@ -0,0 +1,32 @@ +From cebbert@redhat.com Mon Aug 13 16:24:55 2007 +From: Jeff Garzik +Date: Mon, 13 Aug 2007 16:31:32 -0400 +Subject: pata_atiixp: add SB700 PCI ID +To: linux-stable +Cc: Jeff Garzik +Message-ID: <46C0BFA4.2020500@redhat.com> + +From: Jeff Garzik + +[libata] pata_atiixp: add SB700 PCI ID + +From AMD. + +Signed-off-by: Jeff Garzik +Cc: Chuck Ebbert +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/pata_atiixp.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/ata/pata_atiixp.c ++++ b/drivers/ata/pata_atiixp.c +@@ -285,6 +285,7 @@ static const struct pci_device_id atiixp + { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP300_IDE), }, + { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), }, + { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), }, ++ { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP700_IDE), }, + + { }, + }; diff --git a/queue-2.6.22/powerpc-fix-size-check-for-hugetlbfs.patch b/queue-2.6.22/powerpc-fix-size-check-for-hugetlbfs.patch new file mode 100644 index 00000000000..d13012c540e --- /dev/null +++ b/queue-2.6.22/powerpc-fix-size-check-for-hugetlbfs.patch @@ -0,0 +1,36 @@ +From benh@kernel.crashing.org Mon Aug 13 16:17:09 2007 +From: Benjamin Herrenschmidt +Date: Wed, 08 Aug 2007 15:44:15 +1000 +Subject: powerpc: Fix size check for hugetlbfs +To: linuxppc-dev list +Cc: Paul Mackerras , stable@kernel.org +Message-ID: <1186551855.938.164.camel@localhost.localdomain> + +From: Benjamin Herrenschmidt + +My "slices" address space management code that was added in 2.6.22 +implementation of get_unmapped_area() doesn't properly check that the +size is a multiple of the requested page size. This allows userland to +create VMAs that aren't a multiple of the huge page size with hugetlbfs +(since hugetlbfs entirely relies on get_unmapped_area() to do that +checking) which leads to a kernel BUG() when such areas are torn down. + +Signed-off-by: Benjamin Herrenschmidt +Signed-off-by: Paul Mackerras +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/mm/slice.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/powerpc/mm/slice.c ++++ b/arch/powerpc/mm/slice.c +@@ -405,6 +405,8 @@ unsigned long slice_get_unmapped_area(un + + if (len > mm->task_size) + return -ENOMEM; ++ if (len & ((1ul << pshift) - 1)) ++ return -EINVAL; + if (fixed && (addr & ((1ul << pshift) - 1))) + return -EINVAL; + if (fixed && addr > (mm->task_size - len)) diff --git a/queue-2.6.22/ppc-revert-add-mdio-to-bus-scan-id-list-for-platforms-with-qe-uec.patch b/queue-2.6.22/ppc-revert-add-mdio-to-bus-scan-id-list-for-platforms-with-qe-uec.patch new file mode 100644 index 00000000000..94a3438d131 --- /dev/null +++ b/queue-2.6.22/ppc-revert-add-mdio-to-bus-scan-id-list-for-platforms-with-qe-uec.patch @@ -0,0 +1,74 @@ +From kim.phillips@freescale.com Mon Aug 13 16:16:26 2007 +From: Kim Phillips +Date: Thu, 26 Jul 2007 17:25:12 -0500 +Subject: PPC: Revert "[POWERPC] Add 'mdio' to bus scan id list for platforms with QE UEC" +To: stable@kernel.org +Cc: Benjamin Herrenschmidt , Paul Mackerras , Kumar Gala , Rutger Nijlunsing +Message-ID: <20070726172512.eb59a21d.kim.phillips@freescale.com> + +From: Kim Phillips + +This reverts commit 3baee955953957be5496cd28e9c544d9db214262. + +this was a mistake from the start; I added mdio type to the bus +scan list early on in my ucc_geth migrate to phylib development, +which is just pure wrong (the ucc_geth_mii driver creates the mii +bus and the PHY layer handles PHY enumeration without translation). + +this accompanies commit 77926826f301fbd8ed96d3cd9ff17a5b59560dfb: + + Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()" + +which was basically trying to hide a symptom of the original mistake +this revert fixes. + +Signed-off-by: Kim Phillips +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/platforms/83xx/mpc832x_mds.c | 1 - + arch/powerpc/platforms/83xx/mpc832x_rdb.c | 1 - + arch/powerpc/platforms/83xx/mpc836x_mds.c | 1 - + arch/powerpc/platforms/85xx/mpc85xx_mds.c | 1 - + 4 files changed, 4 deletions(-) + +--- a/arch/powerpc/platforms/83xx/mpc832x_mds.c ++++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c +@@ -111,7 +111,6 @@ static struct of_device_id mpc832x_ids[] + { .type = "soc", }, + { .compatible = "soc", }, + { .type = "qe", }, +- { .type = "mdio", }, + {}, + }; + +--- a/arch/powerpc/platforms/83xx/mpc832x_rdb.c ++++ b/arch/powerpc/platforms/83xx/mpc832x_rdb.c +@@ -75,7 +75,6 @@ static struct of_device_id mpc832x_ids[] + { .type = "soc", }, + { .compatible = "soc", }, + { .type = "qe", }, +- { .type = "mdio", }, + {}, + }; + +--- a/arch/powerpc/platforms/83xx/mpc836x_mds.c ++++ b/arch/powerpc/platforms/83xx/mpc836x_mds.c +@@ -118,7 +118,6 @@ static struct of_device_id mpc836x_ids[] + { .type = "soc", }, + { .compatible = "soc", }, + { .type = "qe", }, +- { .type = "mdio", }, + {}, + }; + +--- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c ++++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c +@@ -147,7 +147,6 @@ static struct of_device_id mpc85xx_ids[] + { .type = "soc", }, + { .compatible = "soc", }, + { .type = "qe", }, +- { .type = "mdio", }, + {}, + }; + diff --git a/queue-2.6.22/ppc-revert-don-t-complain-if-size-cells-0-in-prom_parse.patch b/queue-2.6.22/ppc-revert-don-t-complain-if-size-cells-0-in-prom_parse.patch new file mode 100644 index 00000000000..ae55b031e4c --- /dev/null +++ b/queue-2.6.22/ppc-revert-don-t-complain-if-size-cells-0-in-prom_parse.patch @@ -0,0 +1,47 @@ +From kim.phillips@freescale.com Mon Aug 13 16:14:34 2007 +From: Kim Phillips +Date: Thu, 26 Jul 2007 17:25:05 -0500 +Subject: PPC: Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()" +To: stable@kernel.org +Cc: Benjamin Herrenschmidt , Paul Mackerras , Kumar Gala , Rutger Nijlunsing +Message-ID: <20070726172505.0ec38fb3.kim.phillips@freescale.com> + +From: Paul Mackerras + +This reverts commit fd6e9d3945ee122eb513ada8b17296d243c1ce5e. + +Having #size-cells == 0 in a node indicates that things under the +node aren't directly accessible, and therefore we shouldn't try to +translate addresses for devices under the node into CPU physical +addresses. + +Some drivers, such as the nvram driver for powermacs, rely on +of_address_to_resource failing if they are called for a node +representing a device whose resources aren't directly accessible +by the CPU. These drivers were broken by commit fd6e9d39, +resulting in the "Lombard" powerbook hanging early in the boot +process. + +stable team, this patch is equivalent to commit + +77926826f301fbd8ed96d3cd9ff17a5b59560dfb + +Signed-off-by: Paul Mackerras +Cc: Kim Phillips +Signed-off-by: Greg Kroah-Hartman + +--- + arch/powerpc/kernel/prom_parse.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/powerpc/kernel/prom_parse.c ++++ b/arch/powerpc/kernel/prom_parse.c +@@ -24,7 +24,7 @@ + /* Max address size we deal with */ + #define OF_MAX_ADDR_CELLS 4 + #define OF_CHECK_COUNTS(na, ns) ((na) > 0 && (na) <= OF_MAX_ADDR_CELLS && \ +- (ns) >= 0) ++ (ns) > 0) + + static struct of_bus *of_match_bus(struct device_node *np); + static int __of_address_to_resource(struct device_node *dev, diff --git a/queue-2.6.22/series b/queue-2.6.22/series index 0a0ccc7f6c3..ad51f072c25 100644 --- a/queue-2.6.22/series +++ b/queue-2.6.22/series @@ -2,3 +2,9 @@ fix-oops-in-__audit_signal_info.patch random-fix-bound-check-ordering.patch softmac-fix-deadlock-of-wx_set_essid-with-assoc-work.patch ata_piix-update-map-10b-for-ich8m.patch +ppc-revert-don-t-complain-if-size-cells-0-in-prom_parse.patch +ppc-revert-add-mdio-to-bus-scan-id-list-for-platforms-with-qe-uec.patch +powerpc-fix-size-check-for-hugetlbfs.patch +direct-io-fix-error-path-crashes.patch +stifb-detect-cards-in-double-buffer-mode-more-reliably.patch +pata_atiixp-add-sb700-pci-id.patch diff --git a/queue-2.6.22/stifb-detect-cards-in-double-buffer-mode-more-reliably.patch b/queue-2.6.22/stifb-detect-cards-in-double-buffer-mode-more-reliably.patch new file mode 100644 index 00000000000..fbdf6559c6e --- /dev/null +++ b/queue-2.6.22/stifb-detect-cards-in-double-buffer-mode-more-reliably.patch @@ -0,0 +1,65 @@ +From akpm@linux-foundation.org Mon Aug 13 16:18:33 2007 +From: Helge Deller +Date: Fri, 10 Aug 2007 13:00:45 -0700 +Subject: stifb: detect cards in double buffer mode more reliably +To: torvalds@linux-foundation.org +Cc: kyle@mcmartin.ca, akpm@linux-foundation.org, deller@gmx.de, adaplas@gmail.com, stable@kernel.org +Message-ID: <200708102000.l7AK0jnj005853@imap1.linux-foundation.org> + + +From: Helge Deller + +Visualize-EG, Graffiti and A4450A graphics cards on PARISC can +be configured in double-buffer and standard mode, but the stifb +driver supports standard mode only. +This patch detects double-buffered cards more reliable. + +It is a real bugfix for a very nasty problem for all parisc users which have +wrongly configured their graphic card. The problem: The stifb graphics driver +will not detect that the card is wrongly configured and then nevertheless just +enables the graphics mode, which it shouldn't. In the end, the user will see +no further updates / boot messages on the screen. + +We had documented this problem already on our FAQ +(http://parisc-linux.org/faq/index.html#viseg "Why do I get corrupted graphics +with my Vis-EG/Graffiti/A4450A card?") but people still run into this problem. + So having this fix in as early as possible can help us. + +Signed-off-by: Helge Deller +Signed-off-by: Antonino Daplas +Cc: Kyle McMartin +Signed-off-by: Andrew Morton +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/video/stifb.c | 19 ++++++++++++------- + 1 file changed, 12 insertions(+), 7 deletions(-) + +--- a/drivers/video/stifb.c ++++ b/drivers/video/stifb.c +@@ -1100,13 +1100,18 @@ stifb_init_fb(struct sti_struct *sti, in + /* only supported cards are allowed */ + switch (fb->id) { + case CRT_ID_VISUALIZE_EG: +- /* look for a double buffering device like e.g. the +- "INTERNAL_EG_DX1024" in the RDI precisionbook laptop +- which won't work. The same device in non-double +- buffering mode returns "INTERNAL_EG_X1024". */ +- if (strstr(sti->outptr.dev_name, "EG_DX")) { +- printk(KERN_WARNING +- "stifb: ignoring '%s'. Disable double buffering in IPL menu.\n", ++ /* Visualize cards can run either in "double buffer" or ++ "standard" mode. Depending on the mode, the card reports ++ a different device name, e.g. "INTERNAL_EG_DX1024" in double ++ buffer mode and "INTERNAL_EG_X1024" in standard mode. ++ Since this driver only supports standard mode, we check ++ if the device name contains the string "DX" and tell the ++ user how to reconfigure the card. */ ++ if (strstr(sti->outptr.dev_name, "DX")) { ++ printk(KERN_WARNING "WARNING: stifb framebuffer driver does not " ++ "support '%s' in double-buffer mode.\n" ++ KERN_WARNING "WARNING: Please disable the double-buffer mode " ++ "in IPL menu (the PARISC-BIOS).\n", + sti->outptr.dev_name); + goto out_err0; + }