1
0
mirror of https://github.com/corundum/corundum.git synced 2025-01-16 08:12:53 +08:00
corundum/scripts/pcie_disable_fatal_err.sh
Alex Forencich ffc0a70c40 Update scripts to use setpci built-in bit masking
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2022-04-19 23:18:50 -07:00

41 lines
874 B
Bash
Executable File

#!/bin/bash
dev=$1
if [ -z "$dev" ]; then
echo "Error: no device specified"
exit 1
fi
if [ ! -e "/sys/bus/pci/devices/$dev" ]; then
dev="0000:$dev"
fi
if [ ! -e "/sys/bus/pci/devices/$dev" ]; then
echo "Error: device $dev not found"
exit 1
fi
port=$(basename $(dirname $(readlink "/sys/bus/pci/devices/$dev")))
if [ ! -e "/sys/bus/pci/devices/$port" ]; then
echo "Error: device $port not found"
exit 1
fi
echo "Disabling fatal error reporting on port $port..."
echo "Command:" $(setpci -s $port COMMAND)
# clear SERR bit in command register
setpci -s $port COMMAND=0000:0100
echo "Command:" $(setpci -s $port COMMAND)
echo "Device control:" $(setpci -s $port CAP_EXP+8.w)
# clear fatal error reporting enable bit in device control register
setpci -s $port CAP_EXP+8.w=0000:0004
echo "Device control:" $(setpci -s $port CAP_EXP+8.w)