[012/129] ALSA: usb-audio - Avoid flood of frame-active debug messages
From: Greg KH <gregkh@suse.de>
Date: 2012-01-24 02:44:05
Also in:
lkml
3.2-stable review patch. If anyone has any objections, please let me know. ------------------ Content-Length: 1281 Lines: 39 From: Takashi Iwai <redacted> commit 80c8a2a372599e604b04a9c568952fe39cd1851d upstream. With some buggy devices, the usb-audio driver may give "frame xxx active" kernel messages too often. Better to keep it as debug-only using snd_printdd(), and also add the rate-limit for avoiding floods. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=738681 Signed-off-by: Takashi Iwai <redacted> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- sound/usb/endpoint.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c@@ -17,6 +17,7 @@ #include <linux/gfp.h> #include <linux/init.h> +#include <linux/ratelimit.h> #include <linux/usb.h> #include <linux/usb/audio.h>
@@ -458,8 +459,8 @@ static int retire_capture_urb(struct snd for (i = 0; i < urb->number_of_packets; i++) { cp = (unsigned char *)urb->transfer_buffer + urb->iso_frame_desc[i].offset; - if (urb->iso_frame_desc[i].status) { - snd_printd(KERN_ERR "frame %d active: %d\n", i, urb->iso_frame_desc[i].status); + if (urb->iso_frame_desc[i].status && printk_ratelimit()) { + snd_printdd("frame %d active: %d\n", i, urb->iso_frame_desc[i].status); // continue; } bytes = urb->iso_frame_desc[i].actual_length;