]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.9
authorSasha Levin <sashal@kernel.org>
Mon, 26 Oct 2020 17:40:29 +0000 (13:40 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 26 Oct 2020 17:40:29 +0000 (13:40 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.9/series
queue-5.9/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch [new file with mode: 0644]

index d388b7792a4e1832497c1c1c9df238b72c50bc29..408e69317a2e0ddda66ed5b3cba7f72cee71ad0b 100644 (file)
@@ -748,3 +748,4 @@ drm-panfrost-perfcnt-fix-ref-count-leak-in-panfrost_.patch
 ath10k-check-idx-validity-in-__ath10k_htt_rx_ring_fi.patch
 net-korina-cast-kseg0-address-to-pointer-in-kfree.patch
 s390-qeth-don-t-let-hw-override-the-configured-port-.patch
+usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch
diff --git a/queue-5.9/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch b/queue-5.9/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch
new file mode 100644 (file)
index 0000000..1f98bcf
--- /dev/null
@@ -0,0 +1,43 @@
+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
+