aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-07-06 02:11:43 -0400
committerTakashi Iwai <tiwai@suse.de>2012-07-06 02:11:43 -0400
commit9e9b594661e8dee54955607277c937c3ff3a5f01 (patch)
tree48741ea76284cd4c1b8bab3e2decd82991ea5443 /sound/usb
parent8663ff75cdca0a66f808e124c5592735793926af (diff)
ALSA: usb-audio: Fix the first PCM interface assignment
In the new PCM streaming logic, the interface number is assigned to usb stream instance (subs->interface) after the format and rate setups are succeeded, but some codes are still passing subs->interface as the reference to helper functions. This leads to initializing with an invalid iface number (-1). This patch replaces the wrong references with the ones from the target fmt correctly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/pcm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index 54607f8c4f66..f0ede134a111 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -387,7 +387,7 @@ add_sync_ep:
387 subs->data_endpoint->sync_master = subs->sync_endpoint; 387 subs->data_endpoint->sync_master = subs->sync_endpoint;
388 } 388 }
389 389
390 if ((err = snd_usb_init_pitch(subs->stream->chip, subs->interface, alts, fmt)) < 0) 390 if ((err = snd_usb_init_pitch(subs->stream->chip, fmt->iface, alts, fmt)) < 0)
391 return err; 391 return err;
392 392
393 subs->cur_audiofmt = fmt; 393 subs->cur_audiofmt = fmt;
@@ -450,7 +450,7 @@ static int snd_usb_hw_params(struct snd_pcm_substream *substream,
450 struct usb_interface *iface; 450 struct usb_interface *iface;
451 iface = usb_ifnum_to_if(subs->dev, fmt->iface); 451 iface = usb_ifnum_to_if(subs->dev, fmt->iface);
452 alts = &iface->altsetting[fmt->altset_idx]; 452 alts = &iface->altsetting[fmt->altset_idx];
453 ret = snd_usb_init_sample_rate(subs->stream->chip, subs->interface, alts, fmt, rate); 453 ret = snd_usb_init_sample_rate(subs->stream->chip, fmt->iface, alts, fmt, rate);
454 if (ret < 0) 454 if (ret < 0)
455 return ret; 455 return ret;
456 subs->cur_rate = rate; 456 subs->cur_rate = rate;