|
@@ -806,17 +806,18 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
|
|
|
if (ret < 0)
|
|
|
goto unlock;
|
|
|
|
|
|
- iface = usb_ifnum_to_if(subs->dev, subs->cur_audiofmt->iface);
|
|
|
- alts = &iface->altsetting[subs->cur_audiofmt->altset_idx];
|
|
|
- ret = snd_usb_init_sample_rate(subs->stream->chip,
|
|
|
- subs->cur_audiofmt->iface,
|
|
|
- alts,
|
|
|
- subs->cur_audiofmt,
|
|
|
- subs->cur_rate);
|
|
|
- if (ret < 0)
|
|
|
- goto unlock;
|
|
|
-
|
|
|
if (subs->need_setup_ep) {
|
|
|
+
|
|
|
+ iface = usb_ifnum_to_if(subs->dev, subs->cur_audiofmt->iface);
|
|
|
+ alts = &iface->altsetting[subs->cur_audiofmt->altset_idx];
|
|
|
+ ret = snd_usb_init_sample_rate(subs->stream->chip,
|
|
|
+ subs->cur_audiofmt->iface,
|
|
|
+ alts,
|
|
|
+ subs->cur_audiofmt,
|
|
|
+ subs->cur_rate);
|
|
|
+ if (ret < 0)
|
|
|
+ goto unlock;
|
|
|
+
|
|
|
ret = configure_endpoint(subs);
|
|
|
if (ret < 0)
|
|
|
goto unlock;
|