selftests/eeh: Bump EEH wait time to 60s

Some newer cards supported by aacraid can take up to 40s to recover
after an EEH event. This causes spurious failures in the basic EEH
self-test since the current maximim timeout is only 30s.

Fix the immediate issue by bumping the timeout to a default of 60s,
and allow the wait time to be specified via an environmental variable
(EEH_MAX_WAIT).

Reported-by: Steve Best <sbest@redhat.com>
Suggested-by: Douglas Miller <dougmill@us.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200122031125.25991-1-oohall@gmail.com
This commit is contained in:
Oliver O'Halloran 2020-01-22 14:11:25 +11:00 committed by Michael Ellerman
parent f1dbc1c5c7
commit 414f50434a

View File

@ -53,9 +53,13 @@ eeh_one_dev() {
# is a no-op. # is a no-op.
echo $dev >/sys/kernel/debug/powerpc/eeh_dev_check echo $dev >/sys/kernel/debug/powerpc/eeh_dev_check
# Enforce a 30s timeout for recovery. Even the IPR, which is infamously # Default to a 60s timeout when waiting for a device to recover. This
# slow to reset, should recover within 30s. # is an arbitrary default which can be overridden by setting the
max_wait=30 # EEH_MAX_WAIT environmental variable when required.
# The current record holder for longest recovery time is:
# "Adaptec Series 8 12G SAS/PCIe 3" at 39 seconds
max_wait=${EEH_MAX_WAIT:=60}
for i in `seq 0 ${max_wait}` ; do for i in `seq 0 ${max_wait}` ; do
if pe_ok $dev ; then if pe_ok $dev ; then