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

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Sun Jan 4 17:11:48 EST 2009


On Sun, 2009-01-04 at 15:20 +0000, Adam Sampson wrote:
> [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.

Thank you thank you thank you! I posted to lkml about this a while back
but no real solution was forthcoming. This is such a piece of good news!

-- Fernando


> 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 Linux-audio-user mailing list