[alsa-devel] [PATCH] ALSA: usb-audio: Assume first control interface is for audio
Takashi Iwai
tiwai at suse.de
Thu Sep 2 11:59:18 CEST 2010
At Thu, 2 Sep 2010 17:13:15 +0800,
Daniel Mack wrote:
>
> For devices with more than one control interface, let's assume the first
> one contains the audio controls. Unfortunately, there is no field in any
> of the descriptors to tell us whether a control interface is for audio
> or MIDI controls, so a better check is not easy to implement.
>
> On a composite device with audio and MIDI functions, for example, the
> code currently overwrites chip->ctrl_intf, causing operations on the
> control interface to fail if they are issued after the device probe.
>
> Signed-off-by: Daniel Mack <daniel at caiaq.de>
Applied now. Thanks.
Takashi
> ---
> sound/usb/card.c | 8 +++++++-
> 1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/sound/usb/card.c b/sound/usb/card.c
> index 9feb00c..b443a33 100644
> --- a/sound/usb/card.c
> +++ b/sound/usb/card.c
> @@ -465,7 +465,13 @@ static void *snd_usb_audio_probe(struct usb_device *dev,
> goto __error;
> }
>
> - chip->ctrl_intf = alts;
> + /*
> + * For devices with more than one control interface, we assume the
> + * first contains the audio controls. We might need a more specific
> + * check here in the future.
> + */
> + if (!chip->ctrl_intf)
> + chip->ctrl_intf = alts;
>
> if (err > 0) {
> /* create normal USB audio interfaces */
> --
> 1.7.0.4
>
More information about the Alsa-devel
mailing list