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

index ab1b8ea5b07c31ce600a0c8c5b9a3331d7b1d173..bebd4ddfeebe98baab0bf2d49eecb271effdbeb2 100644 (file)
@@ -258,3 +258,4 @@ usb-core-solve-race-condition-in-anchor-cleanup-func.patch
 scsi-ufs-ufs-qcom-fix-race-conditions-caused-by-ufs_.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.19/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch b/queue-4.19/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch
new file mode 100644 (file)
index 0000000..b1f5eb6
--- /dev/null
@@ -0,0 +1,43 @@
+From dd14fb54fcaebe8cd375907da5c6da2e42f8ba0d 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 09bc917d407d4..e4aa370e86a9e 100644
+--- a/drivers/usb/gadget/function/f_ncm.c
++++ b/drivers/usb/gadget/function/f_ncm.c
+@@ -1523,7 +1523,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
+