]> Git Repo - J-linux.git/blob - tools/testing/selftests/powerpc/eeh/eeh-basic.sh
Merge tag 'amd-drm-next-6.5-2023-06-09' of https://gitlab.freedesktop.org/agd5f/linux...
[J-linux.git] / tools / testing / selftests / powerpc / eeh / eeh-basic.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0-only
3
4 . ./eeh-functions.sh
5
6 eeh_test_prep # NB: may exit
7
8 pre_lspci=`mktemp`
9 lspci > $pre_lspci
10
11 # record the devices that we break in here. Assuming everything
12 # goes to plan we should get them back once the recover process
13 # is finished.
14 devices=""
15
16 # Build up a list of candidate devices.
17 for dev in `ls -1 /sys/bus/pci/devices/ | grep '\.0$'` ; do
18         if ! eeh_can_break $dev ; then
19                 continue;
20         fi
21
22         # Skip VFs for now since we don't have a reliable way to break them.
23         if [ -e "/sys/bus/pci/devices/$dev/physfn" ] ; then
24                 echo "$dev, Skipped: virtfn"
25                 continue;
26         fi
27
28         echo "$dev, Added"
29
30         # Add to this list of device to check
31         devices="$devices $dev"
32 done
33
34 dev_count="$(echo $devices | wc -w)"
35 echo "Found ${dev_count} breakable devices..."
36
37 failed=0
38 for dev in $devices ; do
39         echo "Breaking $dev..."
40
41         if ! pe_ok $dev ; then
42                 echo "Skipping $dev, Initial PE state is not ok"
43                 failed="$((failed + 1))"
44                 continue;
45         fi
46
47         if ! eeh_one_dev $dev ; then
48                 failed="$((failed + 1))"
49         fi
50 done
51
52 echo "$failed devices failed to recover ($dev_count tested)"
53 lspci | diff -u $pre_lspci -
54 rm -f $pre_lspci
55
56 test "$failed" -eq 0
57 exit $?
This page took 0.03114 seconds and 4 git commands to generate.