aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2011-08-26 05:48:15 -0400
committerFelipe Balbi <balbi@ti.com>2011-09-09 06:06:05 -0400
commitef7f584ce7b40bcfc108477d2711270379ca8596 (patch)
tree8cdeaaba6e49755e7367227741a5679b172081a5 /drivers/usb/gadget
parent6532c7fdb2c3a2ec1b949ecd2ff5375069c1639a (diff)
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>
Diffstat (limited to 'drivers/usb/gadget')
-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)
681 681
682 status = -ENOMEM; 682 status = -ENOMEM;
683 683
684 /* supcard all relevant hardware speeds... we expect that when 684 /* copy descriptors, and track endpoint copies */
685 f->descriptors = usb_copy_descriptors(f_audio_desc);
686
687 /*
688 * support all relevant hardware speeds... we expect that when
685 * hardware is dual speed, all bulk-capable endpoints work at 689 * hardware is dual speed, all bulk-capable endpoints work at
686 * both speeds 690 * both speeds
687 */ 691 */
688
689 /* copy descriptors, and track endpoint copies */
690 if (gadget_is_dualspeed(c->cdev->gadget)) { 692 if (gadget_is_dualspeed(c->cdev->gadget)) {
691 c->highspeed = true; 693 c->highspeed = true;
692 f->hs_descriptors = usb_copy_descriptors(f_audio_desc); 694 f->hs_descriptors = usb_copy_descriptors(f_audio_desc);
693 } else 695 }
694 f->descriptors = usb_copy_descriptors(f_audio_desc);
695 696
696 return 0; 697 return 0;
697 698