summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2011-08-26 11:48:15 +0200
committerFelipe Balbi <balbi@ti.com>2011-09-09 12:06:05 +0200
commitef7f584ce7b40bcfc108477d2711270379ca8596 (patch)
tree8cdeaaba6e49755e7367227741a5679b172081a5
parentusb: gadget: storage: make FSG_NUM_BUFFERS variable size (diff)
downloadlinux-ef7f584ce7b40bcfc108477d2711270379ca8596.tar.xz
linux-ef7f584ce7b40bcfc108477d2711270379ca8596.zip
usb: gadget: audio: actually support both speeds
While testing g_audio with HighSpeed UDC on a FS Hub, we had no configurations to present to the host. That's because both speeds where mutually exclusive. Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r--drivers/usb/gadget/f_audio.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/usb/gadget/f_audio.c b/drivers/usb/gadget/f_audio.c
index a9a4eade7e80..ddeaa45cd886 100644
--- a/drivers/usb/gadget/f_audio.c
+++ b/drivers/usb/gadget/f_audio.c
@@ -681,17 +681,18 @@ f_audio_bind(struct usb_configuration *c, struct usb_function *f)
status = -ENOMEM;
- /* supcard all relevant hardware speeds... we expect that when
+ /* copy descriptors, and track endpoint copies */
+ f->descriptors = usb_copy_descriptors(f_audio_desc);
+
+ /*
+ * support all relevant hardware speeds... we expect that when
* hardware is dual speed, all bulk-capable endpoints work at
* both speeds
*/
-
- /* copy descriptors, and track endpoint copies */
if (gadget_is_dualspeed(c->cdev->gadget)) {
c->highspeed = true;
f->hs_descriptors = usb_copy_descriptors(f_audio_desc);
- } else
- f->descriptors = usb_copy_descriptors(f_audio_desc);
+ }
return 0;