summaryrefslogtreecommitdiff
path: root/sound/pci/ctxfi
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-06-09 08:17:14 +0200
committerTakashi Iwai <tiwai@suse.de>2009-06-09 08:17:14 +0200
commit5242bc7613311aa1a3d5ed41e9cf81015b65563f (patch)
tree0c975dcebc34cadc2a15fe77abbeacb83f67a5c7 /sound/pci/ctxfi
parentc399f3be82e1249221a7f410855ab1aa747fa82b (diff)
downloadlinux-3.10-5242bc7613311aa1a3d5ed41e9cf81015b65563f.tar.gz
linux-3.10-5242bc7613311aa1a3d5ed41e9cf81015b65563f.tar.bz2
linux-3.10-5242bc7613311aa1a3d5ed41e9cf81015b65563f.zip
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')
-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 799eb98e779..e54006ef83c 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)
u32 size, max_cisz;
int position;
+ if (!src)
+ return 0;
position = src->ops->get_ca(src);
size = apcm->vm_block->size;
@@ -782,6 +784,8 @@ atc_pcm_capture_position(struct ct_atc *atc, struct ct_atc_pcm *apcm)
{
struct src *src = apcm->src;
+ if (!src)
+ return 0;
return src->ops->get_ca(src) - apcm->vm_block->addr;
}