diff options
Diffstat (limited to 'sound/pci/emu10k1/emupcm.c')
| -rw-r--r-- | sound/pci/emu10k1/emupcm.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/sound/pci/emu10k1/emupcm.c b/sound/pci/emu10k1/emupcm.c index cefe613ef7b7..69f9b100bd24 100644 --- a/sound/pci/emu10k1/emupcm.c +++ b/sound/pci/emu10k1/emupcm.c @@ -1724,7 +1724,7 @@ static int snd_emu10k1_fx8010_playback_trigger(struct snd_pcm_substream *substre  	case SNDRV_PCM_TRIGGER_STOP:  	case SNDRV_PCM_TRIGGER_PAUSE_PUSH:  	case SNDRV_PCM_TRIGGER_SUSPEND: -		snd_emu10k1_fx8010_unregister_irq_handler(emu, pcm->irq); pcm->irq = NULL; +		snd_emu10k1_fx8010_unregister_irq_handler(emu, &pcm->irq);  		snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0);  		pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size);  		pcm->tram_shift = 0; @@ -1858,7 +1858,9 @@ int snd_emu10k1_pcm_efx(struct snd_emu10k1 *emu, int device)  	if (!kctl)  		return -ENOMEM;  	kctl->id.device = device; -	snd_ctl_add(emu->card, kctl); +	err = snd_ctl_add(emu->card, kctl); +	if (err < 0) +		return err;  	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), 64*1024, 64*1024); |