Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 $?;