• Oliver O'Halloran's avatar
    selftests/powerpc: Squash spurious errors due to device removal · 5f8cf647
    Oliver O'Halloran authored
    For drivers that don't have the error handling callbacks we implement
    recovery by removing the device and re-probing it. This causes the sysfs
    directory for the PCI device to be removed which causes the following
    spurious error to be printed when checking the PE state:
    
    Breaking 0005:03:00.0...
    ./eeh-basic.sh: line 13: can't open /sys/bus/pci/devices/0005:03:00.0/eeh_pe_state: no such file
    0005:03:00.0, waited 0/60
    0005:03:00.0, waited 1/60
    0005:03:00.0, waited 2/60
    0005:03:00.0, waited 3/60
    0005:03:00.0, waited 4/60
    0005:03:00.0, waited 5/60
    0005:03:00.0, waited 6/60
    0005:03:00.0, waited 7/60
    0005:03:00.0, Recovered after 8 seconds
    
    We currently try to avoid this by checking if the PE state file exists
    before reading from it. This is however inherently racy so re-work the
    state checking so that we only read from the file once, and we squash any
    errors that occur while reading.
    
    Fixes: 85d86c8a ("selftests/powerpc: Add basic EEH selftest")
    Signed-off-by: default avatarOliver O'Halloran <oohall@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200727010127.23698-1-oohall@gmail.com
    5f8cf647
eeh-functions.sh 2.3 KB