From: Sasha Levin Date: Mon, 26 Oct 2020 17:40:30 +0000 (-0400) Subject: Fixes for 4.19 X-Git-Tag: v4.4.241~3^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a226e49855d059ea786daec2408553eee0dfdbdf;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 4.19 Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/series b/queue-4.19/series index ab1b8ea5b07..bebd4ddfeeb 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -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 index 00000000000..b1f5eb60343 --- /dev/null +++ b/queue-4.19/usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch @@ -0,0 +1,43 @@ +From dd14fb54fcaebe8cd375907da5c6da2e42f8ba0d 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 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 +