diff mbox

[i-g-t] igt/drv_module_reload_basic: Do not require snd-hda-intel

Message ID 1460711972-22621-1-git-send-email-tvrtko.ursulin@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tvrtko Ursulin April 15, 2016, 9:19 a.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Recent refactoring has made absence of snd-hda-intel a test
failure do the respective modprobe being at the end of a
reload function now.

Only fail in this case if module was previously unloaded.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 tests/drv_module_reload_basic | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Chris Wilson April 15, 2016, 10:14 a.m. UTC | #1
On Fri, Apr 15, 2016 at 10:19:32AM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Recent refactoring has made absence of snd-hda-intel a test
> failure do the respective modprobe being at the end of a
> reload function now.
> 
> Only fail in this case if module was previously unloaded.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  tests/drv_module_reload_basic | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/drv_module_reload_basic b/tests/drv_module_reload_basic
> index fc508d7204b2..3bba796f0306 100755
> --- a/tests/drv_module_reload_basic
> +++ b/tests/drv_module_reload_basic
> @@ -11,6 +11,8 @@ SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
>  # no other drm service should be running, so we can just unbind
>  
>  function reload() {
> +	local snd_hda_intel_unloaded
> +
>  	echo Reloading i915.ko with $*
>  
>  	# we must kick away fbcon (but only fbcon)
> @@ -23,7 +25,8 @@ function reload() {
>  
>  	# The sound driver uses our power well
>  	pkill alsactl
> -	rmmod snd_hda_intel &> /dev/null
> +	snd_hda_intel_unloaded=0
> +	rmmod snd_hda_intel &> /dev/null && snd_hda_intel_unloaded=1
>  
>  	#ignore errors in ips - gen5 only
>  	rmmod intel_ips &> /dev/null
> @@ -47,7 +50,7 @@ function reload() {
>  		echo 1 > /sys/class/vtconsole/vtcon1/bind
>  	fi
>  
> -	modprobe snd_hda_intel
> +	modprobe -q snd_hda_intel || return $snd_hda_intel_unloaded

I'm sure that there is a better way to write this to allow easier
extension of the bash function. (Writing it in C comes to mind!)

The code seems to dtrt since we must try reloading the snd_hda_intel even
if wasn't loaded on the previous run.

So Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
diff mbox

Patch

diff --git a/tests/drv_module_reload_basic b/tests/drv_module_reload_basic
index fc508d7204b2..3bba796f0306 100755
--- a/tests/drv_module_reload_basic
+++ b/tests/drv_module_reload_basic
@@ -11,6 +11,8 @@  SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )"
 # no other drm service should be running, so we can just unbind
 
 function reload() {
+	local snd_hda_intel_unloaded
+
 	echo Reloading i915.ko with $*
 
 	# we must kick away fbcon (but only fbcon)
@@ -23,7 +25,8 @@  function reload() {
 
 	# The sound driver uses our power well
 	pkill alsactl
-	rmmod snd_hda_intel &> /dev/null
+	snd_hda_intel_unloaded=0
+	rmmod snd_hda_intel &> /dev/null && snd_hda_intel_unloaded=1
 
 	#ignore errors in ips - gen5 only
 	rmmod intel_ips &> /dev/null
@@ -47,7 +50,7 @@  function reload() {
 		echo 1 > /sys/class/vtconsole/vtcon1/bind
 	fi
 
-	modprobe snd_hda_intel
+	modprobe -q snd_hda_intel || return $snd_hda_intel_unloaded
 }
 
 function finish_load() {