Re: [Fwd: [LAU] [PATCH] [RT] tasklets: fix typo intasklet_hi_action]

From: Steven Rostedt
Date: Fri Jan 16 2009 - 19:38:46 EST




On Fri, 16 Jan 2009, Fernando Lopez-Lezcano wrote:

> I don't know if you are aware of this patch (see below), it was
> apparently not xposted to lkml. If fixes the loooong standing midi
> problems in 2.6.26.x. I've tested (not very deeply) and it seems to work
> (and others have also reported success with it). It is not in rt13...

Ah, I think I do have it. It must have fell under the radar. Thanks!

-- Steve

>
> -- Fernando
>
>
> -------- Forwarded Message --------
> From: Adam Sampson <ats@xxxxxxxxx>
> To: linux-rt-users@xxxxxxxxxxxxxxx
> Cc: linux-audio-user@xxxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxx>
>
> --- 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);
>
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/