#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only
. ./eeh-functions.sh
eeh_test_prep # NB: may exit
vf_list="$(eeh_enable_vfs)";
if $? != 0 ; then
log "No usable VFs found. Skipping EEH unaware VF test"
exit $KSELFTESTS_SKIP;
fi
log "Enabled VFs: $vf_list"
tested=0
passed=0
for vf in $vf_list ; do
log "Testing $vf"
if ! eeh_can_recover $vf ; then
log "Driver for $vf doesn't support error recovery, skipping"
continue;
fi
tested="$((tested + 1))"
log "Breaking $vf..."
if ! eeh_one_dev $vf ; then
log "$vf failed to recover"
continue;
fi
passed="$((passed + 1))"
done
eeh_disable_vfs
if [ "$tested" == 0 ] ; then
echo "No VFs with EEH aware drivers found, skipping"
exit $KSELFTESTS_SKIP
fi
test "$failed" != 0
exit $?;