conf/75137: add snd_* modules support to /etc/rc.d/mixer

Jose M Rodriguez josemi at freebsd.jazztel.es
Wed Dec 15 15:20:27 PST 2004


>Number:         75137
>Category:       conf
>Synopsis:       add snd_* modules support to /etc/rc.d/mixer
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec 15 23:20:26 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Jose M Rodriguez
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
Redes JM
>Environment:
System: FreeBSD orion.redesjm.local 5.3-STABLE FreeBSD 5.3-STABLE #0: Wed Dec 15 00:35:47 CET 2004 root at orion.redesjm.local:/usr/obj/usr/src/sys/ORION i386


>Description:
	Add support for preload of sound modules needed for mixer operation.
	Use a blank separated list of modules in ${mixer_modules}, defined
	in /etc/rc.conf and preloaded by /etc/rc.d/mixer
>How-To-Repeat:
>Fix:

--- patch-mixer_modules begins here ---
--- /usr/src/etc/rc.d/mixer	Sun Oct 10 11:50:53 2004
+++ etc/rc.d/mixer	Thu Dec  9 23:25:41 2004
@@ -40,6 +40,22 @@
 extra_commands="reload"
 
 #
+# Install needed modules
+#
+install_mixer_modules()
+{
+    local mixer_module
+
+    if [ -n "${mixer_modules}" ]; then
+	for mixer_module in "${mixer_modules}"; do
+	    if ! /sbin/kldstat -n ${mixer_module} > /dev/null 2>&1 ; then
+		/sbin/kldload ${mixer_module}
+	    fi
+	done
+    fi
+}
+
+#
 # List current mixer devices to stdout.
 #
 list_mixers()
@@ -81,6 +97,7 @@
 {
 	local mixer
 
+	install_mixer_modules
 	for mixer in `list_mixers`; do
 		mixer_restore ${mixer}
 	done
--- patch-mixer_modules ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list