diff options
author | Takashi Iwai <tiwai@suse.de> | 2020-11-23 09:53:23 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2020-11-23 15:14:00 +0100 |
commit | c7f902015e1e86117e6cd3dde17d5964d88a9559 (patch) | |
tree | d1b377ee0377c77e14433581be6ad95b593aa365 /sound/usb/stream.c | |
parent | ALSA: usb-audio: Add snd_usb_get_host_interface() helper (diff) | |
download | linux-c7f902015e1e86117e6cd3dde17d5964d88a9559.tar.xz linux-c7f902015e1e86117e6cd3dde17d5964d88a9559.zip |
ALSA: usb-audio: Don't set altsetting before initializing sample rate
Setting the active altsetting at changing sample rate seems
unrecommended. The host should deselect the altsetting at first
before that, then select it again.
Tested-by: Keith Milner <kamilner@superlative.org>
Tested-by: Dylan Robinson <dylan_robinson@motu.com>
Link: https://lore.kernel.org/r/20201123085347.19667-18-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/stream.c')
-rw-r--r-- | sound/usb/stream.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/usb/stream.c b/sound/usb/stream.c index 816fd3e5aada..4501e042a944 100644 --- a/sound/usb/stream.c +++ b/sound/usb/stream.c @@ -1223,9 +1223,10 @@ static int __snd_usb_parse_audio_interface(struct snd_usb_audio *chip, } /* try to set the interface... */ - usb_set_interface(chip->dev, iface_no, altno); + usb_set_interface(chip->dev, iface_no, 0); snd_usb_init_pitch(chip, iface_no, alts, fp); snd_usb_init_sample_rate(chip, iface_no, alts, fp, fp->rate_max); + usb_set_interface(chip->dev, iface_no, altno); } return 0; } |