--- /dev/null
+From 29ce3c5073057991217916abc25628e906911757 Mon Sep 17 00:00:00 2001
+From: Michael Neuling <michael.neuling@au1.ibm.com>
+Date: Wed, 24 Apr 2013 00:30:09 +0000
+Subject: powerpc: Add isync to copy_and_flush
+
+From: Michael Neuling <michael.neuling@au1.ibm.com>
+
+commit 29ce3c5073057991217916abc25628e906911757 upstream.
+
+In __after_prom_start we copy the kernel down to zero in two calls to
+copy_and_flush. After the first call (copy from 0 to copy_to_here:)
+we jump to the newly copied code soon after.
+
+Unfortunately there's no isync between the copy of this code and the
+jump to it. Hence it's possible that stale instructions could still be
+in the icache or pipeline before we branch to it.
+
+We've seen this on real machines and it's results in no console output
+after:
+ calling quiesce...
+ returning from prom_init
+
+The below adds an isync to ensure that the copy and flushing has
+completed before any branching to the new instructions occurs.
+
+Signed-off-by: Michael Neuling <mikey@neuling.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/kernel/head_64.S | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/powerpc/kernel/head_64.S
++++ b/arch/powerpc/kernel/head_64.S
+@@ -492,6 +492,7 @@ _GLOBAL(copy_and_flush)
+ sync
+ addi r5,r5,8
+ addi r6,r6,8
++ isync
+ blr
+
+ .align 8
--- /dev/null
+From 6747e83235caecd30b186d1282e4eba7679f81b7 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <michael@ellerman.id.au>
+Date: Tue, 23 Apr 2013 15:13:14 +0000
+Subject: powerpc/spufs: Initialise inode->i_ino in spufs_new_inode()
+
+From: Michael Ellerman <michael@ellerman.id.au>
+
+commit 6747e83235caecd30b186d1282e4eba7679f81b7 upstream.
+
+In commit 85fe402 (fs: do not assign default i_ino in new_inode), the
+initialisation of i_ino was removed from new_inode() and pushed down
+into the callers. However spufs_new_inode() was not updated.
+
+This exhibits as no files appearing in /spu, because all our dirents
+have a zero inode, which readdir() seems to dislike.
+
+Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/platforms/cell/spufs/inode.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/powerpc/platforms/cell/spufs/inode.c
++++ b/arch/powerpc/platforms/cell/spufs/inode.c
+@@ -100,6 +100,7 @@ spufs_new_inode(struct super_block *sb,
+ if (!inode)
+ goto out;
+
++ inode->i_ino = get_next_ino();
+ inode->i_mode = mode;
+ inode->i_uid = current_fsuid();
+ inode->i_gid = current_fsgid();
+powerpc-add-isync-to-copy_and_flush.patch
+powerpc-spufs-initialise-inode-i_ino-in-spufs_new_inode.patch
usb-serial-option-added-support-olivetti-olicard-145.patch
usb-option-add-a-d-link-dwm-156-variant.patch