The bitmap in opal_poll_events and opal_handle_interrupt is big endian, so we need to byteswap it on little endian builds.
Signed-off-by: Anton Blanchard <an...@samba.org> --- Index: b/arch/powerpc/platforms/powernv/opal.c =================================================================== --- a/arch/powerpc/platforms/powernv/opal.c +++ b/arch/powerpc/platforms/powernv/opal.c @@ -216,14 +216,14 @@ void opal_notifier_update_evt(uint64_t e void opal_notifier_enable(void) { int64_t rc; - uint64_t evt = 0; + __be64 evt = 0; atomic_set(&opal_notifier_hold, 0); /* Process pending events */ rc = opal_poll_events(&evt); if (rc == OPAL_SUCCESS && evt) - opal_do_notifier(evt); + opal_do_notifier(be64_to_cpu(evt)); } void opal_notifier_disable(void) @@ -501,7 +501,7 @@ static irqreturn_t opal_interrupt(int ir opal_handle_interrupt(virq_to_hw(irq), &events); - opal_do_notifier(events); + opal_do_notifier(be64_to_cpu(events)); return IRQ_HANDLED; } _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev