Convert to using the standard delay poll/delay form. The dump code:
- Did not previously delay or sleep in the OPAL_BUSY case. - Used a 20ms sleep. Cc: Vasant Hegde <hegdevas...@linux.vnet.ibm.com> Signed-off-by: Nicholas Piggin <npig...@gmail.com> --- arch/powerpc/platforms/powernv/opal-dump.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/powernv/opal-dump.c b/arch/powerpc/platforms/powernv/opal-dump.c index 0dc8fa4e0af2..4ab749ceafc2 100644 --- a/arch/powerpc/platforms/powernv/opal-dump.c +++ b/arch/powerpc/platforms/powernv/opal-dump.c @@ -260,12 +260,14 @@ static int64_t dump_read_data(struct dump_obj *dump) addr = __pa(list); /* Fetch data */ - rc = OPAL_BUSY_EVENT; + rc = OPAL_BUSY; while (rc == OPAL_BUSY || rc == OPAL_BUSY_EVENT) { rc = opal_dump_read(dump->id, addr); if (rc == OPAL_BUSY_EVENT) { + msleep(OPAL_BUSY_DELAY_MS); opal_poll_events(NULL); - msleep(20); + } else if (rc == OPAL_BUSY) { + msleep(OPAL_BUSY_DELAY_MS); } } -- 2.17.0