Skip to content

Commit

Permalink
powerpc/powernv: Fix little endian issues with opal_do_notifier calls
Browse files Browse the repository at this point in the history
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 <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Anton Blanchard authored and Benjamin Herrenschmidt committed Apr 28, 2014
1 parent e2c8b93 commit 56b4c99
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions arch/powerpc/platforms/powernv/opal.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,14 +242,14 @@ void opal_notifier_update_evt(uint64_t evt_mask,
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)
Expand Down Expand Up @@ -529,7 +529,7 @@ static irqreturn_t opal_interrupt(int irq, void *data)

opal_handle_interrupt(virq_to_hw(irq), &events);

opal_do_notifier(events);
opal_do_notifier(be64_to_cpu(events));

return IRQ_HANDLED;
}
Expand Down

0 comments on commit 56b4c99

Please sign in to comment.