diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-06-09 02:17:14 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-06-09 02:17:14 -0400 |
commit | 5242bc7613311aa1a3d5ed41e9cf81015b65563f (patch) | |
tree | 0c975dcebc34cadc2a15fe77abbeacb83f67a5c7 /sound/pci/ctxfi | |
parent | c399f3be82e1249221a7f410855ab1aa747fa82b (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')
-rw-r--r-- | sound/pci/ctxfi/ctatc.c | 4 |
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 | ||