diff options
Diffstat (limited to 'sound/core/pcm.c')
-rw-r--r-- | sound/core/pcm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/core/pcm.c b/sound/core/pcm.c index 9305ac357a3e..2bc5f69ec2a8 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c | |||
@@ -597,7 +597,6 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count) | |||
597 | pstr->stream = stream; | 597 | pstr->stream = stream; |
598 | pstr->pcm = pcm; | 598 | pstr->pcm = pcm; |
599 | pstr->substream_count = substream_count; | 599 | pstr->substream_count = substream_count; |
600 | pstr->reg = &snd_pcm_reg[stream]; | ||
601 | if (substream_count > 0) { | 600 | if (substream_count > 0) { |
602 | err = snd_pcm_stream_proc_init(pstr); | 601 | err = snd_pcm_stream_proc_init(pstr); |
603 | if (err < 0) { | 602 | if (err < 0) { |
@@ -897,7 +896,10 @@ static int snd_pcm_dev_register(struct snd_device *device) | |||
897 | devtype = SNDRV_DEVICE_TYPE_PCM_CAPTURE; | 896 | devtype = SNDRV_DEVICE_TYPE_PCM_CAPTURE; |
898 | break; | 897 | break; |
899 | } | 898 | } |
900 | if ((err = snd_register_device(devtype, pcm->card, pcm->device, pcm->streams[cidx].reg, str)) < 0) { | 899 | if ((err = snd_register_device(devtype, pcm->card, |
900 | pcm->device, | ||
901 | &snd_pcm_f_ops[cidx], str)) < 0) | ||
902 | { | ||
901 | snd_pcm_devices[idx] = NULL; | 903 | snd_pcm_devices[idx] = NULL; |
902 | up(®ister_mutex); | 904 | up(®ister_mutex); |
903 | return err; | 905 | return err; |