aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2009-07-13 13:30:22 +0200
committerTakashi Iwai <tiwai@suse.de>2009-07-15 11:56:06 +0200
commitf907ed94f993b0cd366c26eaa88b90c5454203ae (patch)
treed07aa3f3cf0cb1acf36b0fcf85a67b64f5b5226b /sound/core
parentLinux 2.6.31-rc3 (diff)
downloadlinux-dev-f907ed94f993b0cd366c26eaa88b90c5454203ae.tar.xz
linux-dev-f907ed94f993b0cd366c26eaa88b90c5454203ae.zip
seq-midi: always log message on output overrun
It turns out that the main cause of output buffer overruns is not slow drivers but applications that generate too many messages. Therefore, it makes more sense to make that error message always visible, and to rate-limit it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/seq/seq_midi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/core/seq/seq_midi.c b/sound/core/seq/seq_midi.c
index 4d26146a62cc..3810c52f652e 100644
--- a/sound/core/seq/seq_midi.c
+++ b/sound/core/seq/seq_midi.c
@@ -120,7 +120,8 @@ static int dump_midi(struct snd_rawmidi_substream *substream, const char *buf, i
return -EINVAL;
runtime = substream->runtime;
if ((tmp = runtime->avail) < count) {
- snd_printd("warning, output event was lost (count = %i, available = %i)\n", count, tmp);
+ if (printk_ratelimit())
+ snd_printk(KERN_ERR "MIDI output buffer overrun\n");
return -ENOMEM;
}
if (snd_rawmidi_kernel_write(substream, buf, count) < count)