From bc388b54d4325669bfffef314c6f18349c239a1c Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 3 Jul 2013 08:10:28 +0100 Subject: [PATCH] drm_lib.sh: Be more precise in detecting the i915 /sys path We need to be careful in case other devices grow an error file in the future. The first step here is just to check the minor that corresponds with the debugfs path found for the device --- tests/drm_lib.sh | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/tests/drm_lib.sh b/tests/drm_lib.sh index 529cc6b..5ca815b 100755 --- a/tests/drm_lib.sh +++ b/tests/drm_lib.sh @@ -13,9 +13,9 @@ if [ -d /sys/kernel/debug/dri ] ; then fi i915_dfs_path=x -for dir in `ls $debugfs_path` ; do - if [ -f $debugfs_path/$dir/i915_error_state ] ; then - i915_dfs_path=$debugfs_path/$dir +for minor in `seq 0 16`; do + if [ -f $debugfs_path/$minor/i915_error_state ] ; then + i915_dfs_path=$debugfs_path/$minor break fi done @@ -29,15 +29,11 @@ if [ `cat $i915_dfs_path/clients | wc -l` -gt "2" ] ; then die "ERROR: other drm clients running" fi +i915_sfs_path= if [ -d /sys/class/drm ] ; then sysfs_path=/sys/class/drm -fi - -i915_sfs_path= -for dir in `ls $sysfs_path` ; do - if [ -f $sysfs_path/$dir/error ] ; then - i915_sfs_path=$sysfs_path/$dir - break + if [ -f $sysfs_path/card$minor/error ] ; then + i915_sfs_path="$sysfs_path/card$minor" fi -done +fi # sysfs may not exist as the 'error' is a new interface in 3.11 -- 2.7.4