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
+tty-serial-fsl_lpuart-fix-lpuart32_poll_get_char.patch
+usb-cdc-acm-add-quirk-to-blacklist-etas-es58x-devices.patch
+usb-cdc-wdm-make-wdm_flush-interruptible-and-add-wdm_fsync.patch
+eeprom-at25-set-minimum-read-write-access-stride-to-1.patch
+ usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.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
+tty-serial-fsl_lpuart-fix-lpuart32_poll_get_char.patch
+usb-cdc-acm-add-quirk-to-blacklist-etas-es58x-devices.patch
+usb-cdc-wdm-make-wdm_flush-interruptible-and-add-wdm_fsync.patch
+eeprom-at25-set-minimum-read-write-access-stride-to-1.patch
+ usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.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-cdc-acm-add-quirk-to-blacklist-etas-es58x-devices.patch
+usb-cdc-wdm-make-wdm_flush-interruptible-and-add-wdm_fsync.patch
+eeprom-at25-set-minimum-read-write-access-stride-to-1.patch
+ usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.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
+tty-serial-lpuart-fix-lpuart32_write-usage.patch
+tty-serial-fsl_lpuart-fix-lpuart32_poll_get_char.patch
+usb-cdc-acm-add-quirk-to-blacklist-etas-es58x-devices.patch
+usb-cdc-wdm-make-wdm_flush-interruptible-and-add-wdm_fsync.patch
+usb-cdns3-gadget-free-interrupt-after-gadget-has-deleted.patch
+eeprom-at25-set-minimum-read-write-access-stride-to-1.patch
+ usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.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
+tty-serial-lpuart-fix-lpuart32_write-usage.patch
+tty-serial-fsl_lpuart-fix-lpuart32_poll_get_char.patch
+usb-gadget-bcm63xx_udc-fix-up-the-error-of-undeclared-usb_debug_root.patch
+usb-cdc-acm-add-quirk-to-blacklist-etas-es58x-devices.patch
+usb-cdc-wdm-make-wdm_flush-interruptible-and-add-wdm_fsync.patch
+usb-cdns3-gadget-free-interrupt-after-gadget-has-deleted.patch
+eeprom-at25-set-minimum-read-write-access-stride-to-1.patch
+ usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.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
+tty-serial-lpuart-fix-lpuart32_write-usage.patch
+tty-serial-fsl_lpuart-fix-lpuart32_poll_get_char.patch
+usb-gadget-bcm63xx_udc-fix-up-the-error-of-undeclared-usb_debug_root.patch
+usb-cdc-acm-add-quirk-to-blacklist-etas-es58x-devices.patch
+usb-cdc-wdm-make-wdm_flush-interruptible-and-add-wdm_fsync.patch
+usb-cdns3-gadget-free-interrupt-after-gadget-has-deleted.patch
+eeprom-at25-set-minimum-read-write-access-stride-to-1.patch
+ usb-gadget-f_ncm-allow-using-ncm-in-superspeed-plus-.patch
--- /dev/null
- drivers/usb/gadget/function/f_ncm.c | 2 +-
+ 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>
+ ---
-diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
-index 7672fa25085b0..92a7c3a839454 100644
++ drivers/usb/gadget/function/f_ncm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
-@@ -1536,7 +1536,7 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f)
+ --- a/drivers/usb/gadget/function/f_ncm.c
+ +++ b/drivers/usb/gadget/function/f_ncm.c
---
-2.25.1
-
++@@ -1536,7 +1536,7 @@ static int ncm_bind(struct usb_configura
+ 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;
+