original_kernel/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
40x powerpc/40x: Don't enable HCU4 board by default 2008-10-28 08:44:03 -04:00
44x
52xx
82xx
83xx
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
cell powerpc/cell/axon-msi: Fix MSI after kexec 2008-12-16 13:48:18 +11:00
chrp
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
pasemi
powermac
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
Kconfig
Kconfig.cputype
Makefile
fsl_uli1575.c