From: Will McVicker <willmcvic...@google.com>

Needed for SuperSpeed Plus support for f_midi.  This allows the
gadget to work properly without crashing at SuperSpeed rates.

Cc: Felipe Balbi <ba...@kernel.org>
Cc: stable <sta...@vger.kernel.org>
Signed-off-by: Will McVicker <willmcvic...@google.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/usb/gadget/function/f_midi.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/usb/gadget/function/f_midi.c 
b/drivers/usb/gadget/function/f_midi.c
index 85cb15734aa8..ceb67651de4f 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -1048,6 +1048,11 @@ static int f_midi_bind(struct usb_configuration *c, 
struct usb_function *f)
                f->ss_descriptors = usb_copy_descriptors(midi_function);
                if (!f->ss_descriptors)
                        goto fail_f_midi;
+               if (gadget_is_superspeed_plus(c->cdev->gadget)) {
+                       f->ssp_descriptors = 
usb_copy_descriptors(midi_function);
+                       if (!f->ssp_descriptors)
+                               goto fail_f_midi;
+               }
        }
 
        kfree(midi_function);
-- 
2.29.2

Reply via email to