diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-06-08 15:58:48 +0200 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-06-08 16:01:47 +0200 | 
| commit | c00701101b82f2bc61dfc259748ec6e5288af6a9 (patch) | |
| tree | e3c9c70ed0c36387f030e268c5f7baf30ab25814 | |
| parent | ab1863fc9bc18c806338564124b1e5e7e3ef53d1 (diff) | |
ALSA: pcm - A helper function to compose PCM stream name for debug prints
Use a common helper function for the PCM stream name displayed in
XRUN and buffer-pointer debug prints.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/core/pcm_lib.c | 23 | 
1 files changed, 17 insertions, 6 deletions
| diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index adb306fd552..2288fa07bf5 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -136,6 +136,16 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram  			dump_stack();			\  	} while (0) +static void pcm_debug_name(struct snd_pcm_substream *substream, +			   char *name, size_t len) +{ +	snprintf(name, len, "pcmC%dD%d%c:%d", +		 substream->pcm->card->number, +		 substream->pcm->device, +		 substream->stream ? 'c' : 'p', +		 substream->number); +} +  static void xrun(struct snd_pcm_substream *substream)  {  	struct snd_pcm_runtime *runtime = substream->runtime; @@ -144,10 +154,9 @@ static void xrun(struct snd_pcm_substream *substream)  		snd_pcm_gettime(runtime, (struct timespec *)&runtime->status->tstamp);  	snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN);  	if (xrun_debug(substream, 1)) { -		snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", -			   substream->pcm->card->number, -			   substream->pcm->device, -			   substream->stream ? 'c' : 'p'); +		char name[16]; +		pcm_debug_name(substream, name, sizeof(name)); +		snd_printd(KERN_DEBUG "XRUN: %s\n", name);  		dump_stack_on_xrun(substream);  	}  } @@ -163,9 +172,11 @@ snd_pcm_update_hw_ptr_pos(struct snd_pcm_substream *substream,  		return pos; /* XRUN */  	if (pos >= runtime->buffer_size) {  		if (printk_ratelimit()) { -			snd_printd(KERN_ERR  "BUG: stream = %i, pos = 0x%lx, " +			char name[16]; +			pcm_debug_name(substream, name, sizeof(name)); +			snd_printd(KERN_ERR  "BUG: %s, pos = 0x%lx, "  				   "buffer size = 0x%lx, period size = 0x%lx\n", -				   substream->stream, pos, runtime->buffer_size, +				   name, pos, runtime->buffer_size,  				   runtime->period_size);  		}  		pos = 0; | 
