From: Sasha Levin Date: Mon, 26 Oct 2020 17:40:31 +0000 (-0400) Subject: Fixes for 4.9 X-Git-Tag: v4.4.241~3^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dc001abc7743bea515ac5e3324495725831fcb94;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 4.9 Signed-off-by: Sasha Levin --- diff --git a/queue-4.9/series b/queue-4.9/series index 4aaf2b4d572..fdb5dde7fb0 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -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 index 00000000000..42044be66e2 --- /dev/null +++ b/queue-4.9/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch @@ -0,0 +1,43 @@ +From f09c1b5e868d25739a8a224dde14ba029e9525f8 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +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 + +[ 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 +Signed-off-by: Lorenzo Colitti +Signed-off-by: Felipe Balbi +Signed-off-by: Sasha Levin +--- + 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 +