From 5583f444c6abb38ca88cf2046bb792bea01a5496 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 23 Dec 2024 15:00:07 +0100 Subject: [PATCH] Revert "add linux usb patch" This reverts commit 3c79ed01fb15d9e1f2c6226dae1a2ee883c77c8e. --- packages/default.nix | 7 - patches/6-13rc3-usb.patch | 776 -------------------------------------- 2 files changed, 783 deletions(-) delete mode 100644 patches/6-13rc3-usb.patch diff --git a/packages/default.nix b/packages/default.nix index 3316f8b..bcd7bfe 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -33,13 +33,6 @@ in in modVersion; defconfig = "johan_defconfig"; - - kernelPatches = [ - { - name = "6-13rc3-usb"; - patch = ../patches/6-13rc3-usb.patch; - } - ]; }; graphics-firmware = diff --git a/patches/6-13rc3-usb.patch b/patches/6-13rc3-usb.patch deleted file mode 100644 index bfb3dfc..0000000 --- a/patches/6-13rc3-usb.patch +++ /dev/null @@ -1,776 +0,0 @@ -From 8644b48714dca8bf2f42a4ff8311de8efc9bd8c3 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Tue, 14 May 2024 10:15:14 +0300 -Subject: thunderbolt: Add support for Intel Panther Lake-M/P - -Intel Panther Lake-M/P has the same integrated Thunderbolt/USB4 -controller as Lunar Lake. Add these PCI IDs to the driver list of -supported devices. - -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg ---- - drivers/thunderbolt/nhi.c | 8 ++++++++ - drivers/thunderbolt/nhi.h | 4 ++++ - 2 files changed, 12 insertions(+) - -diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c -index 1257dd3ce7e6a3..f3a2264e012bcd 100644 ---- a/drivers/thunderbolt/nhi.c -+++ b/drivers/thunderbolt/nhi.c -@@ -1520,6 +1520,14 @@ static struct pci_device_id nhi_ids[] = { - .driver_data = (kernel_ulong_t)&icl_nhi_ops }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_LNL_NHI1), - .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_M_NHI0), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_M_NHI1), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_P_NHI0), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, -+ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_PTL_P_NHI1), -+ .driver_data = (kernel_ulong_t)&icl_nhi_ops }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HOST_80G_NHI) }, - { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BARLOW_RIDGE_HOST_40G_NHI) }, - -diff --git a/drivers/thunderbolt/nhi.h b/drivers/thunderbolt/nhi.h -index 7a07c7c1a9c2c6..16744f25a9a069 100644 ---- a/drivers/thunderbolt/nhi.h -+++ b/drivers/thunderbolt/nhi.h -@@ -92,6 +92,10 @@ extern const struct tb_nhi_ops icl_nhi_ops; - #define PCI_DEVICE_ID_INTEL_RPL_NHI1 0xa76d - #define PCI_DEVICE_ID_INTEL_LNL_NHI0 0xa833 - #define PCI_DEVICE_ID_INTEL_LNL_NHI1 0xa834 -+#define PCI_DEVICE_ID_INTEL_PTL_M_NHI0 0xe333 -+#define PCI_DEVICE_ID_INTEL_PTL_M_NHI1 0xe334 -+#define PCI_DEVICE_ID_INTEL_PTL_P_NHI0 0xe433 -+#define PCI_DEVICE_ID_INTEL_PTL_P_NHI1 0xe434 - - #define PCI_CLASS_SERIAL_USB_USB4 0x0c0340 - --- -cgit 1.2.3-korg - - -From e34f1717ef0632fcec5cb827e5e0e9f223d70c9b Mon Sep 17 00:00:00 2001 -From: Mario Limonciello -Date: Mon, 9 Dec 2024 10:25:51 -0600 -Subject: thunderbolt: Don't display nvm_version unless upgrade supported - -The read will never succeed if NVM wasn't initialized due to an unknown -format. - -Add a new callback for visibility to only show when supported. - -Cc: stable@vger.kernel.org -Fixes: aef9c693e7e5 ("thunderbolt: Move vendor specific NVM handling into nvm.c") -Reported-by: Richard Hughes -Closes: https://github.com/fwupd/fwupd/issues/8200 -Signed-off-by: Mario Limonciello -Signed-off-by: Mika Westerberg ---- - drivers/thunderbolt/retimer.c | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -diff --git a/drivers/thunderbolt/retimer.c b/drivers/thunderbolt/retimer.c -index 89d2919d0193e8..eeb64433ebbca0 100644 ---- a/drivers/thunderbolt/retimer.c -+++ b/drivers/thunderbolt/retimer.c -@@ -103,6 +103,7 @@ static int tb_retimer_nvm_add(struct tb_retimer *rt) - - err_nvm: - dev_dbg(&rt->dev, "NVM upgrade disabled\n"); -+ rt->no_nvm_upgrade = true; - if (!IS_ERR(nvm)) - tb_nvm_free(nvm); - -@@ -182,8 +183,6 @@ static ssize_t nvm_authenticate_show(struct device *dev, - - if (!rt->nvm) - ret = -EAGAIN; -- else if (rt->no_nvm_upgrade) -- ret = -EOPNOTSUPP; - else - ret = sysfs_emit(buf, "%#x\n", rt->auth_status); - -@@ -323,8 +322,6 @@ static ssize_t nvm_version_show(struct device *dev, - - if (!rt->nvm) - ret = -EAGAIN; -- else if (rt->no_nvm_upgrade) -- ret = -EOPNOTSUPP; - else - ret = sysfs_emit(buf, "%x.%x\n", rt->nvm->major, rt->nvm->minor); - -@@ -342,6 +339,19 @@ static ssize_t vendor_show(struct device *dev, struct device_attribute *attr, - } - static DEVICE_ATTR_RO(vendor); - -+static umode_t retimer_is_visible(struct kobject *kobj, struct attribute *attr, -+ int n) -+{ -+ struct device *dev = kobj_to_dev(kobj); -+ struct tb_retimer *rt = tb_to_retimer(dev); -+ -+ if (attr == &dev_attr_nvm_authenticate.attr || -+ attr == &dev_attr_nvm_version.attr) -+ return rt->no_nvm_upgrade ? 0 : attr->mode; -+ -+ return attr->mode; -+} -+ - static struct attribute *retimer_attrs[] = { - &dev_attr_device.attr, - &dev_attr_nvm_authenticate.attr, -@@ -351,6 +361,7 @@ static struct attribute *retimer_attrs[] = { - }; - - static const struct attribute_group retimer_group = { -+ .is_visible = retimer_is_visible, - .attrs = retimer_attrs, - }; - --- -cgit 1.2.3-korg - - -From fdad4fb7c506bea8b419f70ff2163d99962e8ede Mon Sep 17 00:00:00 2001 -From: Daniel Swanemar -Date: Mon, 4 Nov 2024 14:42:17 +0100 -Subject: USB: serial: option: add TCL IK512 MBIM & ECM - -Add the following TCL IK512 compositions: - -0x0530: Modem + Diag + AT + MBIM -T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=10000 MxCh= 0 -D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 -P: Vendor=1bbb ProdID=0530 Rev=05.04 -S: Manufacturer=TCL -S: Product=TCL 5G USB Dongle -S: SerialNumber=3136b91a -C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=896mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim -E: Ad=86(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I: If#= 4 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms - -0x0640: ECM + Modem + Diag + AT -T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=10000 MxCh= 0 -D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 -P: Vendor=1bbb ProdID=0640 Rev=05.04 -S: Manufacturer=TCL -S: Product=TCL 5G USB Dongle -S: SerialNumber=3136b91a -C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=896mA -I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether -E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=32ms -I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether -E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms - -Signed-off-by: Daniel Swanemar -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index 9ba5584061c8c4..437960002bc3b1 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -2385,6 +2385,10 @@ static const struct usb_device_id option_ids[] = { - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x60) }, -+ { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /* TCL IK512 MBIM */ -+ .driver_info = NCTRL(1) }, -+ { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /* TCL IK512 ECM */ -+ .driver_info = NCTRL(3) }, - { } /* Terminating entry */ - }; - MODULE_DEVICE_TABLE(usb, option_ids); --- -cgit 1.2.3-korg - - -From 724d461e44dfc0815624d2a9792f2f2beb7ee46d Mon Sep 17 00:00:00 2001 -From: Michal Hrusecky -Date: Tue, 19 Nov 2024 14:00:18 +0100 -Subject: USB: serial: option: add MeiG Smart SLM770A - -Update the USB serial option driver to support MeiG Smart SLM770A. - -ID 2dee:4d57 Marvell Mobile Composite Device Bus - -T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 -P: Vendor=2dee ProdID=4d57 Rev= 1.00 -S: Manufacturer=Marvell -S: Product=Mobile Composite Device Bus -C:* #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=500mA -A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host -E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms -I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=88(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=4096ms -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0e(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -Tested successfully connecting to the Internet via rndis interface after -dialing via AT commands on If#=3 or If#=4. -Not sure of the purpose of the other serial interfaces. - -Signed-off-by: Michal Hrusecky -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index 437960002bc3b1..a807101548e7b5 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -625,6 +625,8 @@ static void option_instat_callback(struct urb *urb); - #define MEIGSMART_PRODUCT_SRM825L 0x4d22 - /* MeiG Smart SLM320 based on UNISOC UIS8910 */ - #define MEIGSMART_PRODUCT_SLM320 0x4d41 -+/* MeiG Smart SLM770A based on ASR1803 */ -+#define MEIGSMART_PRODUCT_SLM770A 0x4d57 - - /* Device flags */ - -@@ -2382,6 +2384,7 @@ static const struct usb_device_id option_ids[] = { - { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, - { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM320, 0xff, 0, 0) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM770A, 0xff, 0, 0) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SRM825L, 0xff, 0xff, 0x60) }, --- -cgit 1.2.3-korg - - -From aa954ae08262bb5cd6ab18dd56a0b58c1315db8b Mon Sep 17 00:00:00 2001 -From: Mank Wang -Date: Fri, 22 Nov 2024 09:06:00 +0000 -Subject: USB: serial: option: add Netprisma LCUK54 modules for WWAN Ready - -LCUK54-WRD's pid/vid -0x3731/0x010a -0x3731/0x010c - -LCUK54-WWD's pid/vid -0x3731/0x010b -0x3731/0x010d - -Above products use the exact same interface layout and option -driver: -MBIM + GNSS + DIAG + NMEA + AT + QDSS + DPL - -T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=3731 ProdID=0101 Rev= 5.04 -S: Manufacturer=NetPrisma -S: Product=LCUK54-WRD -S: SerialNumber=feeba631 -C:* #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA -A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim -E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) -E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option -E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 6 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none) -E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 7 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) -E: Ad=8f(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -Signed-off-by: Mank Wang -[ johan: use lower case hex notation ] -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index a807101548e7b5..e897c723b041cd 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -2377,6 +2377,18 @@ static const struct usb_device_id option_ids[] = { - { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Golbal EDU */ - { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0x00, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0x00, 0x40) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x40) }, - { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, - { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) }, --- -cgit 1.2.3-korg - - -From f07dfa6a1b65034a5c3ba3a555950d972f252757 Mon Sep 17 00:00:00 2001 -From: Jack Wu -Date: Thu, 28 Nov 2024 10:22:27 +0800 -Subject: USB: serial: option: add MediaTek T7XX compositions - -Add the MediaTek T7XX compositions: - -T: Bus=03 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 74 Spd=480 MxCh= 0 -D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 -P: Vendor=0e8d ProdID=7129 Rev= 0.01 -S: Manufacturer=MediaTek Inc. -S: Product=USB DATA CARD -S: SerialNumber=004402459035402 -C:* #Ifs=10 Cfg#= 1 Atr=a0 MxPwr=500mA -A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim -E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I:* If#= 9 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option -E: Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -------------------------------- -| If Number | Function | -------------------------------- -| 2 | USB AP Log Port | -------------------------------- -| 3 | USB AP GNSS Port| -------------------------------- -| 4 | USB AP META Port| -------------------------------- -| 5 | ADB port | -------------------------------- -| 6 | USB MD AT Port | ------------------------------- -| 7 | USB MD META Port| -------------------------------- -| 8 | USB NTZ Port | -------------------------------- -| 9 | USB Debug port | -------------------------------- - -Signed-off-by: Jack Wu -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index e897c723b041cd..dcedb88ad7c13b 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -2249,6 +2249,8 @@ static const struct usb_device_id option_ids[] = { - .driver_info = NCTRL(2) }, - { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7127, 0xff, 0x00, 0x00), - .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, -+ { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7129, 0xff, 0x00, 0x00), /* MediaTek T7XX */ -+ .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, - { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, - { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200), - .driver_info = RSVD(1) | RSVD(4) }, --- -cgit 1.2.3-korg - - -From 8366e64a4454481339e7c56a8ad280161f2e441d Mon Sep 17 00:00:00 2001 -From: Daniele Palmas -Date: Mon, 9 Dec 2024 16:32:54 +0100 -Subject: USB: serial: option: add Telit FE910C04 rmnet compositions - -Add the following Telit FE910C04 compositions: - -0x10c0: rmnet + tty (AT/NMEA) + tty (AT) + tty (diag) -T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 13 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=1bc7 ProdID=10c0 Rev=05.15 -S: Manufacturer=Telit Cinterion -S: Product=FE910 -S: SerialNumber=f71b8b32 -C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -0x10c4: rmnet + tty (AT) + tty (AT) + tty (diag) -T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 14 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=1bc7 ProdID=10c4 Rev=05.15 -S: Manufacturer=Telit Cinterion -S: Product=FE910 -S: SerialNumber=f71b8b32 -C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -0x10c8: rmnet + tty (AT) + tty (diag) + DPL (data packet logging) + adb -T: Bus=02 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 17 Spd=480 MxCh= 0 -D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 -P: Vendor=1bc7 ProdID=10c8 Rev=05.15 -S: Manufacturer=Telit Cinterion -S: Product=FE910 -S: SerialNumber=f71b8b32 -C: #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA -I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan -E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option -E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option -E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I: If#= 3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) -E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms -I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) -E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms -E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms - -Signed-off-by: Daniele Palmas -Cc: stable@vger.kernel.org -Signed-off-by: Johan Hovold ---- - drivers/usb/serial/option.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index dcedb88ad7c13b..64317b390d2285 100644 ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -1397,6 +1397,12 @@ static const struct usb_device_id option_ids[] = { - .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, - { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10aa, 0xff), /* Telit FN920C04 (MBIM) */ - .driver_info = NCTRL(3) | RSVD(4) | RSVD(5) }, -+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c0, 0xff), /* Telit FE910C04 (rmnet) */ -+ .driver_info = RSVD(0) | NCTRL(3) }, -+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c4, 0xff), /* Telit FE910C04 (rmnet) */ -+ .driver_info = RSVD(0) | NCTRL(3) }, -+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c8, 0xff), /* Telit FE910C04 (rmnet) */ -+ .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, - { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), - .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, - { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), --- -cgit 1.2.3-korg - - -From 24740385cb0d6d22ab7fa7adf36546d5b3cdcf73 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Fri, 15 Nov 2024 11:54:40 +0200 -Subject: thunderbolt: Improve redrive mode handling - -When USB-C monitor is connected directly to Intel Barlow Ridge host, it -goes into "redrive" mode that basically routes the DisplayPort signals -directly from the GPU to the USB-C monitor without any tunneling needed. -However, the host router must be powered on for this to work. Aaron -reported that there are a couple of cases where this will not work with -the current code: - - - Booting with USB-C monitor plugged in. - - Plugging in USB-C monitor when the host router is in sleep state - (runtime suspended). - - Plugging in USB-C device while the system is in system sleep state. - -In all these cases once the host router is runtime suspended the picture -on the connected USB-C display disappears too. This is certainly not -what the user expected. - -For this reason improve the redrive mode handling to keep the host -router from runtime suspending when detect that any of the above cases -is happening. - -Fixes: a75e0684efe5 ("thunderbolt: Keep the domain powered when USB4 port is in redrive mode") -Reported-by: Aaron Rainbolt -Closes: https://lore.kernel.org/linux-usb/20241009220118.70bfedd0@kf-ir16/ -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg ---- - drivers/thunderbolt/tb.c | 41 +++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 41 insertions(+) - -diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c -index 4f777788e9179c..a7c6919fbf9788 100644 ---- a/drivers/thunderbolt/tb.c -+++ b/drivers/thunderbolt/tb.c -@@ -2059,6 +2059,37 @@ static void tb_exit_redrive(struct tb_port *port) - } - } - -+static void tb_switch_enter_redrive(struct tb_switch *sw) -+{ -+ struct tb_port *port; -+ -+ tb_switch_for_each_port(sw, port) -+ tb_enter_redrive(port); -+} -+ -+/* -+ * Called during system and runtime suspend to forcefully exit redrive -+ * mode without querying whether the resource is available. -+ */ -+static void tb_switch_exit_redrive(struct tb_switch *sw) -+{ -+ struct tb_port *port; -+ -+ if (!(sw->quirks & QUIRK_KEEP_POWER_IN_DP_REDRIVE)) -+ return; -+ -+ tb_switch_for_each_port(sw, port) { -+ if (!tb_port_is_dpin(port)) -+ continue; -+ -+ if (port->redrive) { -+ port->redrive = false; -+ pm_runtime_put(&sw->dev); -+ tb_port_dbg(port, "exit redrive mode\n"); -+ } -+ } -+} -+ - static void tb_dp_resource_unavailable(struct tb *tb, struct tb_port *port) - { - struct tb_port *in, *out; -@@ -2909,6 +2940,7 @@ static int tb_start(struct tb *tb, bool reset) - tb_create_usb3_tunnels(tb->root_switch); - /* Add DP IN resources for the root switch */ - tb_add_dp_resources(tb->root_switch); -+ tb_switch_enter_redrive(tb->root_switch); - /* Make the discovered switches available to the userspace */ - device_for_each_child(&tb->root_switch->dev, NULL, - tb_scan_finalize_switch); -@@ -2924,6 +2956,7 @@ static int tb_suspend_noirq(struct tb *tb) - - tb_dbg(tb, "suspending...\n"); - tb_disconnect_and_release_dp(tb); -+ tb_switch_exit_redrive(tb->root_switch); - tb_switch_suspend(tb->root_switch, false); - tcm->hotplug_active = false; /* signal tb_handle_hotplug to quit */ - tb_dbg(tb, "suspend finished\n"); -@@ -3016,6 +3049,7 @@ static int tb_resume_noirq(struct tb *tb) - tb_dbg(tb, "tunnels restarted, sleeping for 100ms\n"); - msleep(100); - } -+ tb_switch_enter_redrive(tb->root_switch); - /* Allow tb_handle_hotplug to progress events */ - tcm->hotplug_active = true; - tb_dbg(tb, "resume finished\n"); -@@ -3079,6 +3113,12 @@ static int tb_runtime_suspend(struct tb *tb) - struct tb_cm *tcm = tb_priv(tb); - - mutex_lock(&tb->lock); -+ /* -+ * The below call only releases DP resources to allow exiting and -+ * re-entering redrive mode. -+ */ -+ tb_disconnect_and_release_dp(tb); -+ tb_switch_exit_redrive(tb->root_switch); - tb_switch_suspend(tb->root_switch, true); - tcm->hotplug_active = false; - mutex_unlock(&tb->lock); -@@ -3110,6 +3150,7 @@ static int tb_runtime_resume(struct tb *tb) - tb_restore_children(tb->root_switch); - list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list) - tb_tunnel_restart(tunnel); -+ tb_switch_enter_redrive(tb->root_switch); - tcm->hotplug_active = true; - mutex_unlock(&tb->lock); - --- -cgit 1.2.3-korg - - -From e21ebe51af688eb98fd6269240212a3c7300deea Mon Sep 17 00:00:00 2001 -From: Mathias Nyman -Date: Tue, 17 Dec 2024 12:21:21 +0200 -Subject: xhci: Turn NEC specific quirk for handling Stop Endpoint errors - generic - -xHC hosts from several vendors have the same issue where endpoints start -so slowly that a later queued 'Stop Endpoint' command may complete before -endpoint is up and running. - -The 'Stop Endpoint' command fails with context state error as the endpoint -still appears as stopped. - -See commit 42b758137601 ("usb: xhci: Limit Stop Endpoint retries") for -details - -CC: stable@vger.kernel.org -Signed-off-by: Mathias Nyman -Link: https://lore.kernel.org/r/20241217102122.2316814-2-mathias.nyman@linux.intel.com -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/host/xhci-ring.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c -index 4cf5363875c704..09b05a62375e01 100644 ---- a/drivers/usb/host/xhci-ring.c -+++ b/drivers/usb/host/xhci-ring.c -@@ -1199,8 +1199,6 @@ static void xhci_handle_cmd_stop_ep(struct xhci_hcd *xhci, int slot_id, - * Keep retrying until the EP starts and stops again, on - * chips where this is known to help. Wait for 100ms. - */ -- if (!(xhci->quirks & XHCI_NEC_HOST)) -- break; - if (time_is_before_jiffies(ep->stop_time + msecs_to_jiffies(100))) - break; - fallthrough; --- -cgit 1.2.3-korg - - -From b9252f80b807801056e67e3a672fb1be0ecb81d8 Mon Sep 17 00:00:00 2001 -From: Niklas Neronin -Date: Tue, 17 Dec 2024 12:21:22 +0200 -Subject: usb: xhci: fix ring expansion regression in 6.13-rc1 - -The source and destination rings were incorrectly assigned during the ring -linking process. The "source" ring, which contains the new segments, -was not spliced into the "destination" ring, leading to incorrect ring -expansion. - -Fixes: fe688e500613 ("usb: xhci: refactor xhci_link_rings() to use source and destination rings") -Reported-by: Jeff Chua -Closes: https://lore.kernel.org/lkml/CAAJw_ZtppNqC9XA=-WVQDr+vaAS=di7jo15CzSqONeX48H75MA@mail.gmail.com/ -Signed-off-by: Niklas Neronin -Signed-off-by: Mathias Nyman -Link: https://lore.kernel.org/r/20241217102122.2316814-3-mathias.nyman@linux.intel.com -Signed-off-by: Greg Kroah-Hartman ---- - drivers/usb/host/xhci-mem.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c -index 15db90c54a45ab..92703efda1f7b3 100644 ---- a/drivers/usb/host/xhci-mem.c -+++ b/drivers/usb/host/xhci-mem.c -@@ -436,7 +436,7 @@ int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring, - goto free_segments; - } - -- xhci_link_rings(xhci, ring, &new_ring); -+ xhci_link_rings(xhci, &new_ring, ring); - trace_xhci_ring_expansion(ring); - xhci_dbg_trace(xhci, trace_xhci_dbg_ring_expansion, - "ring expansion succeed, now has %d segments", --- -cgit 1.2.3-korg -