]> www.infradead.org Git - users/dwmw2/linux.git/commit
powerpc/powernv: Fix OPAL NVRAM driver OPAL_BUSY loops
authorNicholas Piggin <npiggin@gmail.com>
Tue, 10 Apr 2018 11:49:33 +0000 (21:49 +1000)
committerSasha Levin <alexander.levin@microsoft.com>
Wed, 23 May 2018 01:36:33 +0000 (21:36 -0400)
commitaf8dd966f24f0dca977ca4070d8e6ee9f5c9a1f5
tree6f3bd226c797f47c83f2936991f7438e15f8be90
parentef84c0b5c339e5c9ae2fd0a034f8451545c6b50c
powerpc/powernv: Fix OPAL NVRAM driver OPAL_BUSY loops

[ Upstream commit 3b8070335f751aac9f1526ae2e012e6f5b8b0f21 ]

The OPAL NVRAM driver does not sleep in case it gets OPAL_BUSY or
OPAL_BUSY_EVENT from firmware, which causes large scheduling
latencies, and various lockup errors to trigger (again, BMC reboot
can cause it).

Fix this by converting it to the standard form OPAL_BUSY loop that
sleeps.

Fixes: 628daa8d5abf ("powerpc/powernv: Add RTC and NVRAM support plus RTAS fallbacks")
Depends-on: 34dd25de9fe3 ("powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops")
Cc: stable@vger.kernel.org # v3.2+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
arch/powerpc/platforms/powernv/opal-nvram.c