[PlanetCCRMA] [Fwd: [LAU] [PATCH] [RT] tasklets: fix typo in tasklet_hi_action]

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Sun Jan 4 14:13:18 PST 2009


I'll build new kernels asap (probably tomorrow). Apparently from the
feedback in the thread it solves the midi problems in 2.6.26.x with the
rt patch! Good news...

-- Fernando


-------- Forwarded Message --------
From: Adam Sampson <ats at offog.org>
To: linux-rt-users at vger.kernel.org
Cc: linux-audio-user at lists.linuxaudio.org
Subject: [LAU] [PATCH] [RT] tasklets: fix typo in tasklet_hi_action
Date: Sun, 4 Jan 2009 15:20:58 +0000

[l-a-u CCed because we've been talking about this problem there
recently, and that's what prodded me to do the bisection to track it
down... fortunately the -rt8 to -rt9 interdiff was pretty small!]

Subject: [PATCH] [RT] tasklets: fix typo in tasklet_hi_action

Fix a typo in tasklet_hi_action -- using the wrong tasklet list when removing
actions.

This appears to be what was causing the ALSA sequencer device not to work in
2.6.26 with the RT patch: the sequencer was flaky in -rt1 to -rt8, and just
hung in -rt9 and later, after tasklets-fix-tasklet_hi_schedule.patch which
fixed the same typo when adding to the list. I guess that's because before -rt9
the actions were going onto the wrong list, whereas after -rt9 they were being
lost entirely once the first one had been performed. It seems happy now,
anyway.

Signed-off-by: Adam Sampson <ats at offog.org>

--- linux-2.6.26/kernel/softirq.c_orig	2009-01-04 14:41:06.000000000 +0000
+++ linux-2.6.26/kernel/softirq.c	2009-01-04 14:41:49.000000000 +0000
@@ -657,7 +657,7 @@
 	local_irq_disable();
 	list = __get_cpu_var(tasklet_hi_vec).head;
 	__get_cpu_var(tasklet_hi_vec).head = NULL;
-	__get_cpu_var(tasklet_hi_vec).tail = &__get_cpu_var(tasklet_vec).head;
+	__get_cpu_var(tasklet_hi_vec).tail = &__get_cpu_var(tasklet_hi_vec).head;
 	local_irq_enable();
 
 	__tasklet_action(a, list);




More information about the PlanetCCRMA mailing list