--- rtirq-20090626/rtirq.sh 2009-06-25 23:52:29.000000000 +0100 +++ rtirq-20090807/rtirq.sh 2009-08-07 14:48:48.000000000 +0100 @@ -117,7 +117,7 @@ function rtirq_exec_num () # And now do the proper threading prioritization... if [ -z "`echo ${RTIRQ_TRAIL} | grep :${IRQ}:`" ] then - PIDS=`ps -eo pid,comm | egrep "IRQ.${IRQ}\$" | awk '{print $1}'` + PIDS=`ps -eo pid,comm | egrep "(IRQ.${IRQ}|irq/${IRQ}-${NAME2:0:8})\$" | awk '{print $1}'` for PID in ${PIDS} do PREPEND="Setting IRQ priorities: ${ACTION} [${NAME2}] irq=${IRQ} pid=${PID}" @@ -224,10 +224,11 @@ function rtirq_exec () case ${NAME} in snd) PRI1=${PRI0} - IRQS=`grep irq /proc/asound/cards | tac | sed 's/.* irq \(.*\)/\1/'` - for IRQ in ${IRQS} + grep irq /proc/asound/cards | tac | \ + sed 's/\(.*\) at .* irq \(.*\)/\2 \1/' | \ + while read IRQ NAME2 do - rtirq_exec_num ${ACTION} ${NAME} ${NAME} ${PRI1} ${IRQ} + rtirq_exec_num ${ACTION} ${NAME} ${NAME2} ${PRI1} ${IRQ} PRI1=$((${PRI1} - 1)) done ;; @@ -238,7 +239,7 @@ function rtirq_exec () ;; *) rtirq_exec_name ${ACTION} ${NAME} ${NAME} ${PRI0} - ;; + ;; esac [ ${PRI0} -gt ${DECR} ] && PRI0=$((${PRI0} - ${DECR})) done