diff mbox

[04/11] xive: Don't expose a trigger page when none exist

Message ID 20170315095900.13962-4-benh@kernel.crashing.org
State Accepted
Headers show

Commit Message

Benjamin Herrenschmidt March 15, 2017, 9:58 a.m. UTC
Otherwise Linux might try to retrigger an escalation interrupt
when doing an EOI which will checkstop

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 hw/xive.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
diff mbox

Patch

diff --git a/hw/xive.c b/hw/xive.c
index bb20cb7..fb18661 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -3360,12 +3360,10 @@  static int64_t opal_xive_get_irq_info(uint32_t girq,
 	if (s->flags & XIVE_SRC_EOI_PAGE1) {
 		uint64_t p1off = 1ull << (s->esb_shift - 1);
 		eoi_page = mm_base + p1off;
-		trig_page = mm_base;
-	} else {
-		eoi_page = mm_base;
-		if (!(s->flags & XIVE_SRC_STORE_EOI))
+		if (s->flags & XIVE_SRC_TRIGGER_PAGE)
 			trig_page = mm_base;
-	}
+	} else
+		eoi_page = mm_base;
 
 	if (out_eoi_page)
 		*out_eoi_page = eoi_page;