android_kernel_xiaomi_sm8350/arch/powerpc/platforms
Arnd Bergmann 23e0e8afaf powerpc/cell/axon-msi: Fix MSI after kexec
Commit d015fe995 'powerpc/cell/axon-msi: Retry on missing interrupt'
has turned a rare failure to kexec on QS22 into a reproducible
error, which we have now analysed.

The problem is that after a kexec, the MSIC hardware still points
into the middle of the old ring buffer.  We set up the ring buffer
during reboot, but not the offset into it.  On older kernels, this
would cause a storm of thousands of spurious interrupts after a
kexec, which would most of the time get dropped silently.

With the new code, we time out on each interrupt, waiting for
it to become valid.  If more interrupts come in that we time
out on, this goes on indefinitely, which eventually leads to
a hard crash.

The solution in this commit is to read the current offset from
the MSIC when reinitializing it.  This now works correctly, as
expected.

Reported-by: Dirk Herrendoerfer <d.herrendoerfer@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-16 13:48:18 +11:00
..
8xx powerpc: Add support for the MPC852 based mgsuvd board from keymile. 2008-09-16 10:01:30 -05:00
40x powerpc/40x: Don't enable HCU4 board by default 2008-10-28 08:44:03 -04:00
44x powerpc/4xx: Add PowerPC 4xx GPIO driver 2008-10-17 13:33:44 -04:00
52xx powerpc/mpc5200: Don't touch pipelining for MPC5200B 2008-10-15 11:09:59 -06:00
82xx Merge commit 'origin' 2008-10-15 11:31:54 +11:00
83xx powerpc/83xx: don't probe broken PCI on mpc837x_mds boards 2008-10-13 11:09:58 -05:00
85xx powerpc/mpic: Fix regression caused by change of default IRQ affinity 2008-10-31 16:13:50 +11:00
86xx powerpc/mpic: Fix regression caused by change of default IRQ affinity 2008-10-31 16:13:50 +11:00
512x powerpc/5121: Add PCI support. 2008-10-13 11:09:58 -05:00
cell powerpc/cell/axon-msi: Fix MSI after kexec 2008-12-16 13:48:18 +11:00
chrp Merge commit 'origin' 2008-10-15 11:31:54 +11:00
embedded6xx powerpc: fix i2c on PPC linkstation / kurobox machines 2008-10-28 09:45:57 -05:00
iseries powerpc: Update remaining dma_mapping_ops to use map/unmap_page 2008-10-31 16:13:48 +11:00
maple Merge commit 'origin' 2008-10-15 11:31:54 +11:00
pasemi phylib: two dynamic mii_bus allocation fallout fixes 2008-10-09 09:45:04 -07:00
powermac ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
prep
ps3 powerpc: Update remaining dma_mapping_ops to use map/unmap_page 2008-10-31 16:13:48 +11:00
pseries powerpc: Fix "unused variable" warning in pci_dlpar.c 2008-11-05 19:59:08 +11:00
fsl_uli1575.c powerpc: Fix boot hang regression on MPC8544DS 2008-10-02 00:58:49 -05:00
Kconfig powerpc/QE: move QE_GPIO Kconfig symbol into the platforms/Kconfig 2008-10-13 11:09:58 -05:00
Kconfig.cputype Merge branch 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-16 15:17:40 -07:00
Makefile