#!/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" failed=0 for vf in $vf_list ; do log "Testing $vf" if eeh_can_recover $vf ; then log "Driver for $vf supports error recovery. Unbinding..." echo "$vf" > /sys/bus/pci/devices/$vf/driver/unbind fi log "Breaking $vf..." if ! eeh_one_dev $vf ; then log "$vf failed to recover" failed="$((failed + 1))" fi done eeh_disable_vfs test "$failed" != 0 exit $?;