Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 253535
Collapse All | Expand All

(-)alsasound.initd (-7 / +7 lines)
Lines 81-106 Link Here
81
}
81
}
82
82
83
unload_modules_24() {
83
unload_modules_24() {
84
	local LOADED_MODULES="$(lsmod | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p')"
84
	local LOADED_MODULES="$(lsmod | sort -n -k 3 | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p')"
85
	local MODULE
85
	local MODULE
86
	for MODULE in ${LOADED_MODULES} ; do
86
	for MODULE in ${LOADED_MODULES} ; do
87
	    rmmod "${MODULE}"
87
	    modprobe -r "${MODULE}"
88
	done
88
	done
89
	rmmod soundcore 2>/dev/null
89
	modprobe -r soundcore 2>/dev/null
90
	rmmod gameport 2>/dev/null
90
	modprobe -r gameport 2>/dev/null
91
91
92
	lsmod | grep -vq '^snd'
92
	lsmod | grep -vq '^snd'
93
}
93
}
94
94
95
unload_modules_recursive() {
95
unload_modules_recursive() {
96
	local revdeps="$(lsmod | sed -n -e "s/,/ /g" -e "s/^$1 *[0-9]* *[0-9]* \(.*\)/\1/p")"
96
	local revdeps="$(lsmod | sort -n -k 3 | sed -n -e "s/,/ /g" -e "s/^$1 *[0-9]* *[0-9]* \(.*\)/\1/p")"
97
97
98
	for module in ${revdeps} ; do
98
	for module in ${revdeps} ; do
99
		unload_modules_recursive "${module}"
99
		unload_modules_recursive "${module}"
100
	done
100
	done
101
101
102
	vebegin "Unloading: $1"
102
	vebegin "Unloading: $1"
103
	rmmod --wait "$1"
103
	modprobe -r "$1"
104
	veend $?
104
	veend $?
105
}
105
}
106
106
Lines 110-116 Link Here
110
	lsmod | grep -q "^snd[[:space:]]" && unload_modules_recursive snd
110
	lsmod | grep -q "^snd[[:space:]]" && unload_modules_recursive snd
111
111
112
	# Then find the remaining ones, and handle them too.
112
	# Then find the remaining ones, and handle them too.
113
	for module in $(lsmod | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p'); do
113
	for module in $(lsmod | sort -n -k 3 | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p'); do
114
		unload_modules_recursive "${module}"
114
		unload_modules_recursive "${module}"
115
	done
115
	done
116
116

Return to bug 253535