igt/drv_module_reload: Check more carefully for a live driver

As drm_open_any() now quietly fails if there is no driver, this
nullifies the effectiviness of using gem_exec_nop as the test for a good
reload. Combine with gem_alive (and guarantee that gem_alive can detect
a dead driver, putting lie to

commit 032f30cb38
Author: Thomas Wood <thomas.wood@intel.com>
Date:   Tue Jan 13 13:33:57 2015 +0000

    lib: remove unnecessary checks on the drm_open_any return value

) first.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88573
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson
2015-01-19 09:42:25 +00:00
parent 20d6e0f41b
commit a29f28eba9
4 changed files with 18 additions and 4 deletions
+13 -2
View File
@@ -43,7 +43,18 @@ echo 1 > /sys/class/vtconsole/vtcon1/bind
modprobe snd_hda_intel
# try to run something
$SOURCE_DIR/gem_exec_nop > /dev/null && echo "module successfully loaded again"
# does the device exist?
if $SOURCE_DIR/gem_alive > /dev/null ; then
echo "module successfully loaded again"
else
echo "failed to reload module successfully"
exit 2
fi
# then try to run something
if ! $SOURCE_DIR/gem_exec_nop > /dev/null ; then
echo "failed to execute a simple batch after reload"
exit 3
fi
exit 0
+3 -1
View File
@@ -14,7 +14,9 @@ int main(void)
signal(SIGALRM, SIG_IGN);
fd = drm_open_any();
fd = __drm_open_any();
if (fd < 0)
return IGT_EXIT_SKIP;
alarm(1);
if (ioctl(fd, DRM_IOCTL_I915_GEM_SW_FINISH, &arg) == 0)