From: Rene Herman <rene.herman@gmail.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Krzysztof Helt <krzysztof.h1@gmail.com>,
ALSA devel <alsa-devel@alsa-project.org>,
Trent Piepho <xyzzy@speakeasy.org>
Subject: Re: [PATCH] ad1838/cs4231 -- fix MCE timeout upon initial load
Date: Tue, 18 Sep 2007 15:57:41 +0200 [thread overview]
Message-ID: <46EFD955.1000601@gmail.com> (raw)
In-Reply-To: <s5habrkchpa.wl%tiwai@suse.de>
[-- Attachment #1: Type: text/plain, Size: 822 bytes --]
On 09/18/2007 01:54 PM, Takashi Iwai wrote:
> Let's leave seq_instr as is. It's a never-working concept. The only
> user is OPL3, and this should be rewritten using hwdep. Then we'll
> get rid of this whole code chunk.
Well, if you insist, but thought I'd submit is seperately once again. The
schedule_timeout() calls in there are so-so, will simply not schedule, but that
while (instr->use)
schedule_timeout(1);
loop is dangerous. There's nothing that I can see that's stopping the
compiler from turning this into an infinite loop:
if (instr->use)
while (1)
schedule_timeout(1);
I'll admit I have no idea where this code ends up, but if it's _ever_ used
this seems to not be good.
Ofcourse, feel free to drop on the floor if you really do insist.
Signed-off-by: Rene Herman <rene.herman@gmail.com>
[-- Attachment #2: schedule_timeout-seq_instr.diff --]
[-- Type: text/plain, Size: 1230 bytes --]
diff -r 0028e39ead78 core/seq/seq_instr.c
--- a/core/seq/seq_instr.c Tue Sep 18 00:52:38 2007 +0200
+++ b/core/seq/seq_instr.c Tue Sep 18 14:49:04 2007 +0200
@@ -109,7 +109,7 @@ void snd_seq_instr_list_free(struct snd_
spin_lock_irqsave(&list->lock, flags);
while (instr->use) {
spin_unlock_irqrestore(&list->lock, flags);
- schedule_timeout(1);
+ schedule_timeout_uninterruptible(1);
spin_lock_irqsave(&list->lock, flags);
}
spin_unlock_irqrestore(&list->lock, flags);
@@ -198,8 +198,10 @@ int snd_seq_instr_list_free_cond(struct
while (flist) {
instr = flist;
flist = instr->next;
- while (instr->use)
- schedule_timeout(1);
+ while (instr->use) {
+ schedule_timeout_uninterruptible(1);
+ barrier();
+ }
if (snd_seq_instr_free(instr, atomic)<0)
snd_printk(KERN_WARNING "instrument free problem\n");
instr = next;
@@ -555,7 +557,7 @@ static int instr_free(struct snd_seq_kin
SNDRV_SEQ_INSTR_NOTIFY_REMOVE);
while (instr->use) {
spin_unlock_irqrestore(&list->lock, flags);
- schedule_timeout(1);
+ schedule_timeout_uninterruptible(1);
spin_lock_irqsave(&list->lock, flags);
}
spin_unlock_irqrestore(&list->lock, flags);
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2007-09-18 13:58 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-10 18:29 [PATCH] ad1838/cs4231 -- fix MCE timeout upon initial load Rene Herman
2007-09-10 21:40 ` Krzysztof Helt
2007-09-10 21:37 ` Takashi Iwai
2007-09-10 21:43 ` Rene Herman
2007-09-10 21:45 ` Rene Herman
2007-09-11 8:56 ` Krzysztof Helt
2007-09-11 20:42 ` Rene Herman
2007-09-17 21:04 ` Trent Piepho
2007-09-17 21:47 ` Krzysztof Helt
2007-09-18 1:18 ` Trent Piepho
2007-09-18 7:20 ` Krzysztof Helt
2007-09-19 1:27 ` Trent Piepho
2007-09-19 2:48 ` Rene Herman
2007-09-18 0:17 ` Rene Herman
2007-09-18 1:57 ` Rene Herman
2007-09-18 4:24 ` Rene Herman
2007-09-18 11:03 ` Rene Herman
2007-09-18 11:54 ` Takashi Iwai
2007-09-18 13:38 ` [ PATCH 1/4] alsa-kernel: schedule_timeout() fixes Rene Herman
2007-09-18 16:39 ` Takashi Iwai
2007-09-18 13:49 ` [PATCH 2/4] alsa-kernel: schedule_timeout() fix for kernel/drivers/input/touchscreen/ucb1400_ts.c Rene Herman
2007-09-18 13:58 ` Takashi Iwai
2007-09-18 13:58 ` Rene Herman
2007-09-18 13:57 ` Rene Herman [this message]
2007-09-18 14:27 ` [PATCH 3/4] alsa-kernel: schedule_timeout() fix for core/seq/seq_instr.c Rene Herman
2007-09-18 16:38 ` [PATCH] ad1838/cs4231 -- fix MCE timeout upon initial load Takashi Iwai
2007-09-18 14:34 ` [PATCH 4/4] alsa-driver: schedule_timeout() fixes Rene Herman
2007-09-18 16:44 ` Takashi Iwai
2007-09-18 17:05 ` Rene Herman
2007-09-18 17:09 ` Rene Herman
2007-09-18 17:22 ` Takashi Iwai
2007-09-18 2:32 ` [PATCH] ad1838/cs4231 -- fix MCE timeout upon initial load Trent Piepho
2007-09-18 6:50 ` Rene Herman
2007-09-18 7:33 ` Krzysztof Helt
2007-09-18 8:02 ` Krzysztof Helt
2007-09-18 8:17 ` Rene Herman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46EFD955.1000601@gmail.com \
--to=rene.herman@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=krzysztof.h1@gmail.com \
--cc=tiwai@suse.de \
--cc=xyzzy@speakeasy.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.