#!/usr/bin/sh
# SPDX-License-Identifier: GPL-2.0
#  This shell script can be executed by rasdaemon in daemon mode when a
#  memory_failure_event is occured, environment variables include all
#  information reported by tracepoint.

# environment:
# BDF
# EVENT_TYPE
# DATA1
# DATA2
#

[ -x ./nvgpu_reset_trigger.local ] && . ./nvgpu_reset_trigger.local

if [ -d nvgpu_reset_trigger.extern ]
then
    ls nvgpu_reset_trigger.extern |
    while read item
    do
        [ -x ./nvgpu_reset_trigger.extern/$item ] && . ./nvgpu_reset_trigger.extern/$item
    done
fi

if [ "$EVENT_TYPE" == "8" ] && [ "$DATA1" == "48" ]
then
    sudo nvidia-smi -r -i $BDF
fi

if [ "$EVENT_TYPE" == "2" ]
then
    sudo nvidia-smi -r -i $BDF
fi

if [ "$EVENT_TYPE" == "37" ] && [ "$DATA1" == "48" ]
then
    sudo nvidia-smi -r -i $BDF
fi

exit 0
