--- /dev/null
+From akpm@linux-foundation.org Mon Aug 13 16:18:09 2007
+From: Badari Pulavarty <pbadari@us.ibm.com>
+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 <pbadari@us.ibm.com>
+
+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 <pbadari@us.ibm.com>
+Acked-by: Joe Jin <joe.jin@oracle.com>
+Acked-by: Zach Brown <zach.brown@oracle.com>
+Cc: gurudas pai <gurudas.pai@oracle.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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;
+
--- /dev/null
+From cebbert@redhat.com Mon Aug 13 16:24:55 2007
+From: Jeff Garzik <jeff@garzik.org>
+Date: Mon, 13 Aug 2007 16:31:32 -0400
+Subject: pata_atiixp: add SB700 PCI ID
+To: linux-stable <stable@kernel.org>
+Cc: Jeff Garzik <jeff@garzik.org>
+Message-ID: <46C0BFA4.2020500@redhat.com>
+
+From: Jeff Garzik <jeff@garzik.org>
+
+[libata] pata_atiixp: add SB700 PCI ID
+
+From AMD.
+
+Signed-off-by: Jeff Garzik <jeff@garzik.org>
+Cc: Chuck Ebbert <cebbert@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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), },
+
+ { },
+ };
--- /dev/null
+From benh@kernel.crashing.org Mon Aug 13 16:17:09 2007
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Wed, 08 Aug 2007 15:44:15 +1000
+Subject: powerpc: Fix size check for hugetlbfs
+To: linuxppc-dev list <linuxppc-dev@ozlabs.org>
+Cc: Paul Mackerras <paulus@samba.org>, stable@kernel.org
+Message-ID: <1186551855.938.164.camel@localhost.localdomain>
+
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+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 <benh@kernel.crashing.org>
+Signed-off-by: Paul Mackerras <paulus@samba.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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))
--- /dev/null
+From kim.phillips@freescale.com Mon Aug 13 16:16:26 2007
+From: Kim Phillips <kim.phillips@freescale.com>
+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 <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>, Kumar Gala <galak@kernel.crashing.org>, Rutger Nijlunsing <rutger@nospam.com>
+Message-ID: <20070726172512.eb59a21d.kim.phillips@freescale.com>
+
+From: Kim Phillips <kim.phillips@freescale.com>
+
+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 <kim.phillips@freescale.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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", },
+ {},
+ };
+
--- /dev/null
+From kim.phillips@freescale.com Mon Aug 13 16:14:34 2007
+From: Kim Phillips <kim.phillips@freescale.com>
+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 <benh@kernel.crashing.org>, Paul Mackerras <paulus@samba.org>, Kumar Gala <galak@kernel.crashing.org>, Rutger Nijlunsing <rutger@nospam.com>
+Message-ID: <20070726172505.0ec38fb3.kim.phillips@freescale.com>
+
+From: Paul Mackerras <paulus@samba.org>
+
+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 <paulus@samba.org>
+Cc: Kim Phillips <kim.phillips@freescale.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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,
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
--- /dev/null
+From akpm@linux-foundation.org Mon Aug 13 16:18:33 2007
+From: Helge Deller <deller@gmx.de>
+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 <deller@gmx.de>
+
+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 <deller@gmx.de>
+Signed-off-by: Antonino Daplas <adaplas@gmail.com>
+Cc: Kyle McMartin <kyle@mcmartin.ca>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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;
+ }