summaryrefslogtreecommitdiffstats
path: root/hw/psi.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-12-05 07:42:09 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2014-12-05 10:54:27 +1100
commit1c72cd1a0ca1b0de32c16f11517193ac582fab98 (patch)
tree2154000a5cc072e0610dcc11e7507521d817a0c8 /hw/psi.c
parent1ee766ac7733ef975e3d40c4ccb5886299a0eb5b (diff)
downloadtalos-skiboot-1c72cd1a0ca1b0de32c16f11517193ac582fab98.tar.gz
talos-skiboot-1c72cd1a0ca1b0de32c16f11517193ac582fab98.zip
occ: Fix clearing of OCC interrupt on remote fix
If the OCC interrupt comes from another chip, we incorrectly try to clear it on the local one. This causes hangs at boot on some machines. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/psi.c')
-rw-r--r--hw/psi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/psi.c b/hw/psi.c
index 1dba69a7..70403fd5 100644
--- a/hw/psi.c
+++ b/hw/psi.c
@@ -278,7 +278,7 @@ static void handle_extra_interrupt(struct psi *psi)
* when available.
*/
if (val & PSIHB_IRQ_STAT_OCC)
- occ_interrupt();
+ occ_interrupt(psi->chip_id);
if (val & PSIHB_IRQ_STAT_FSI)
printf("PSI: FSI irq received\n");
if (val & PSIHB_IRQ_STAT_LPC) {
OpenPOWER on IntegriCloud