Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 361331
b: refs/heads/master
c: 281a6ac
h: refs/heads/master
i:
  361329: e09f859
  361327: f1675fb
v: v3
  • Loading branch information
Clemens Ladisch authored and Takashi Iwai committed Mar 12, 2013
1 parent ef0cc3e commit fb272e9
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2e9b9a3c243b1bc1fc9d1e84fcbc32568467bf8e
refs/heads/master: 281a6ac0f54052c81bbee156914459ba5a08f924
15 changes: 15 additions & 0 deletions trunk/sound/usb/card.c
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,21 @@ static int snd_usb_create_streams(struct snd_usb_audio *chip, int ctrlif)
struct usb_interface_assoc_descriptor *assoc =
usb_ifnum_to_if(dev, ctrlif)->intf_assoc;

if (!assoc) {
/*
* Firmware writers cannot count to three. So to find
* the IAD on the NuForce UDH-100, also check the next
* interface.
*/
struct usb_interface *iface =
usb_ifnum_to_if(dev, ctrlif + 1);
if (iface &&
iface->intf_assoc &&
iface->intf_assoc->bFunctionClass == USB_CLASS_AUDIO &&
iface->intf_assoc->bFunctionProtocol == UAC_VERSION_2)
assoc = iface->intf_assoc;
}

if (!assoc) {
snd_printk(KERN_ERR "Audio class v2 interfaces need an interface association\n");
return -EINVAL;
Expand Down

0 comments on commit fb272e9

Please sign in to comment.