aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ctxfi/ctatc.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-06-09 02:17:14 -0400
committerTakashi Iwai <tiwai@suse.de>2009-06-09 02:17:14 -0400
commit5242bc7613311aa1a3d5ed41e9cf81015b65563f (patch)
tree0c975dcebc34cadc2a15fe77abbeacb83f67a5c7 /sound/pci/ctxfi/ctatc.c
parentc399f3be82e1249221a7f410855ab1aa747fa82b (diff)
ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks
The SRC instances may not exist when PCM pointer callback is called at the state before initialization is finished. Add the NULL check just to be sure. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ctxfi/ctatc.c')
-rw-r--r--sound/pci/ctxfi/ctatc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c
index 799eb98e7794..e54006ef83cf 100644
--- a/sound/pci/ctxfi/ctatc.c
+++ b/sound/pci/ctxfi/ctatc.c
@@ -445,6 +445,8 @@ atc_pcm_playback_position(struct ct_atc *atc, struct ct_atc_pcm *apcm)
445 u32 size, max_cisz; 445 u32 size, max_cisz;
446 int position; 446 int position;
447 447
448 if (!src)
449 return 0;
448 position = src->ops->get_ca(src); 450 position = src->ops->get_ca(src);
449 451
450 size = apcm->vm_block->size; 452 size = apcm->vm_block->size;
@@ -782,6 +784,8 @@ atc_pcm_capture_position(struct ct_atc *atc, struct ct_atc_pcm *apcm)
782{ 784{
783 struct src *src = apcm->src; 785 struct src *src = apcm->src;
784 786
787 if (!src)
788 return 0;
785 return src->ops->get_ca(src) - apcm->vm_block->addr; 789 return src->ops->get_ca(src) - apcm->vm_block->addr;
786} 790}
787 791