Re: [patch] voluntary-preempt-2.6.9-rc1-bk4-Q5

From: Ingo Molnar
Date: Tue Aug 31 2004 - 13:48:46 EST



* Takashi Iwai <tiwai@xxxxxxx> wrote:

> Does the attached patch fix this problem?
>
>
> Takashi
>
> --- linux/sound/pci/ens1370.c 25 Aug 2004 09:57:03 -0000 1.64
> +++ linux/sound/pci/ens1370.c 31 Aug 2004 18:17:45 -0000
> @@ -513,6 +513,7 @@
> r = inl(ES_REG(ensoniq, 1371_SMPRATE));
> if ((r & ES_1371_SRC_RAM_BUSY) == 0)
> return r;
> + cond_resched();

but ... snd_es1371_wait_src_ready() is being called with
ensoniq->reg_lock held and you must not reschedule with a spinlock held.
cond_resched_lock(&ensoniq->req_lock) might not crash immediately, but
is it really safe to release the driver lock at this point?

Ingo
-
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/