--- /dev/null
+From 33acac54982527bbb07b889f680c66e9933d6181 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 25 Aug 2020 14:55:05 +0900
+Subject: usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Lorenzo Colitti <lorenzo@google.com>
+
+[ Upstream commit 7974ecd7d3c0f42a98566f281e44ea8573a2ad88 ]
+
+Currently, enabling f_ncm at SuperSpeed Plus speeds results in an
+oops in config_ep_by_speed because ncm_set_alt passes in NULL
+ssp_descriptors. Fix this by re-using the SuperSpeed descriptors.
+This is safe because usb_assign_descriptors calls
+usb_copy_descriptors.
+
+Tested: enabled f_ncm on a dwc3 gadget and 10Gbps link, ran iperf
+Reviewed-by: Maciej Żenczykowski <maze@google.com>
+Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
+Signed-off-by: Felipe Balbi <balbi@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/usb/gadget/function/f_ncm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
+index 7672fa25085b0..92a7c3a839454 100644
+--- a/drivers/usb/gadget/function/f_ncm.c
++++ b/drivers/usb/gadget/function/f_ncm.c
+@@ -1536,7 +1536,7 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f)
+ fs_ncm_notify_desc.bEndpointAddress;
+
+ status = usb_assign_descriptors(f, ncm_fs_function, ncm_hs_function,
+- ncm_ss_function, NULL);
++ ncm_ss_function, ncm_ss_function);
+ if (status)
+ goto fail;
+
+--
+2.25.1
+