aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-08-03 06:59:38 -0400
committerTakashi Iwai <tiwai@suse.de>2012-08-03 06:59:38 -0400
commitd30a0d839a5a282e43353fee53d5dc70db5eceda (patch)
tree189a91615be3174a9ff8b20937359d11298433af /sound/core
parentfcfb7866af9a5d0280b7e51dd772990c636b7dec (diff)
parent988aec3de5f0fa848f26fbf64f9e83364d6b3c25 (diff)
Merge branch 'topic/next' into for-next
Diffstat (limited to 'sound/core')
-rw-r--r--sound/core/misc.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/core/misc.c b/sound/core/misc.c
index 76816792540..30e027ecf4d 100644
--- a/sound/core/misc.c
+++ b/sound/core/misc.c
@@ -68,6 +68,7 @@ void __snd_printk(unsigned int level, const char *path, int line,
68{ 68{
69 va_list args; 69 va_list args;
70#ifdef CONFIG_SND_VERBOSE_PRINTK 70#ifdef CONFIG_SND_VERBOSE_PRINTK
71 int kern_level;
71 struct va_format vaf; 72 struct va_format vaf;
72 char verbose_fmt[] = KERN_DEFAULT "ALSA %s:%d %pV"; 73 char verbose_fmt[] = KERN_DEFAULT "ALSA %s:%d %pV";
73#endif 74#endif
@@ -81,12 +82,16 @@ void __snd_printk(unsigned int level, const char *path, int line,
81#ifdef CONFIG_SND_VERBOSE_PRINTK 82#ifdef CONFIG_SND_VERBOSE_PRINTK
82 vaf.fmt = format; 83 vaf.fmt = format;
83 vaf.va = &args; 84 vaf.va = &args;
84 if (format[0] == '<' && format[2] == '>') { 85
85 memcpy(verbose_fmt, format, 3); 86 kern_level = printk_get_level(format);
86 vaf.fmt = format + 3; 87 if (kern_level) {
88 const char *end_of_header = printk_skip_level(format);
89 memcpy(verbose_fmt, format, end_of_header - format);
90 vaf.fmt = end_of_header;
87 } else if (level) 91 } else if (level)
88 memcpy(verbose_fmt, KERN_DEBUG, 3); 92 memcpy(verbose_fmt, KERN_DEBUG, sizeof(KERN_DEBUG) - 1);
89 printk(verbose_fmt, sanity_file_name(path), line, &vaf); 93 printk(verbose_fmt, sanity_file_name(path), line, &vaf);
94
90#else 95#else
91 vprintk(format, args); 96 vprintk(format, args);
92#endif 97#endif