1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-only 3 4. ./eeh-functions.sh 5 6eeh_test_prep # NB: may exit 7 8vf_list="$(eeh_enable_vfs)"; 9if $? != 0 ; then 10 log "No usable VFs found. Skipping EEH unaware VF test" 11 exit $KSELFTESTS_SKIP; 12fi 13 14log "Enabled VFs: $vf_list" 15 16tested=0 17passed=0 18for vf in $vf_list ; do 19 log "Testing $vf" 20 21 if ! eeh_can_recover $vf ; then 22 log "Driver for $vf doesn't support error recovery, skipping" 23 continue; 24 fi 25 26 tested="$((tested + 1))" 27 28 log "Breaking $vf..." 29 if ! eeh_one_dev $vf ; then 30 log "$vf failed to recover" 31 continue; 32 fi 33 34 passed="$((passed + 1))" 35done 36 37eeh_disable_vfs 38 39if [ "$tested" == 0 ] ; then 40 echo "No VFs with EEH aware drivers found, skipping" 41 exit $KSELFTESTS_SKIP 42fi 43 44test "$failed" != 0 45exit $?; 46