Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1313e704 authored by Daniel Mack's avatar Daniel Mack Committed by Takashi Iwai
Browse files

ALSA: snd-usb-caiaq: only warn once on streaming errors



Limit the number of printed warnings to one in case of streaming errors.
printk() happens to be expensive, especially in code called as often as
here.

Signed-off-by: default avatarDaniel Mack <daniel@caiaq.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 238c0270
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ static int stream_start(struct snd_usb_caiaqdev *dev)
	dev->output_panic = 0;
	dev->first_packet = 1;
	dev->streaming = 1;
	dev->warned = 0;

	for (i = 0; i < N_URBS; i++) {
		ret = usb_submit_urb(dev->data_urbs_in[i], GFP_ATOMIC);
@@ -406,10 +407,11 @@ static void read_in_urb(struct snd_usb_caiaqdev *dev,
		break;
	}

	if (dev->input_panic || dev->output_panic) {
	if ((dev->input_panic || dev->output_panic) && !dev->warned) {
		debug("streaming error detected %s %s\n", 
				dev->input_panic ? "(input)" : "",
				dev->output_panic ? "(output)" : "");
		dev->warned = 1;
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ struct snd_usb_caiaqdev {
	int audio_out_buf_pos[MAX_STREAMS];
	int period_in_count[MAX_STREAMS];
	int period_out_count[MAX_STREAMS];
	int input_panic, output_panic;
	int input_panic, output_panic, warned;
	char *audio_in_buf, *audio_out_buf;
	unsigned int samplerates;