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

index 4aaf2b4d5722c426c40d34e8f4d414055b2a13f9..fdb5dde7fb0679423134a7df8f16079f0c8cadf7 100644 (file)
@@ -133,3 +133,4 @@ brcm80211-fix-possible-memleak-in-brcmf_proto_msgbuf.patch
 usb-core-solve-race-condition-in-anchor-cleanup-func.patch
 ath10k-check-idx-validity-in-__ath10k_htt_rx_ring_fi.patch
 net-korina-cast-kseg0-address-to-pointer-in-kfree.patch
+usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch
diff --git a/queue-4.9/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch b/queue-4.9/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch
new file mode 100644 (file)
index 0000000..42044be
--- /dev/null
@@ -0,0 +1,43 @@
+From f09c1b5e868d25739a8a224dde14ba029e9525f8 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 ba8fa97a62cfd..4395ea07c1bb4 100644
+--- a/drivers/usb/gadget/function/f_ncm.c
++++ b/drivers/usb/gadget/function/f_ncm.c
+@@ -1548,7 +1548,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
+