]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.13-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Jan 2025 11:51:05 +0000 (12:51 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Jan 2025 11:51:05 +0000 (12:51 +0100)
added patches:
alsa-usb-audio-add-delay-quirk-for-usb-audio-device.patch
hid-wacom-initialize-brightness-of-led-trigger.patch
input-atkbd-map-f23-key-to-support-default-copilot-shortcut.patch
input-xpad-add-qh-electronics-vid-pid.patch
input-xpad-add-support-for-nacon-evol-x-xbox-one-controller.patch
input-xpad-add-support-for-nacon-pro-compact.patch
input-xpad-add-support-for-wooting-two-he-arm.patch
input-xpad-add-unofficial-xbox-360-wireless-receiver-clone.patch
input-xpad-improve-name-of-8bitdo-controller-2dc8-3106.patch
io_uring-rsrc-require-cloned-buffers-to-share-accounting-contexts.patch
revert-usb-gadget-u_serial-disable-ep-before-setting-port-to-null-to-fix-the-crash-caused-by-port-being-null.patch
usb-serial-quatech2-fix-null-ptr-deref-in-qt2_process_read_urb.patch
wifi-rtl8xxxu-add-more-missing-rtl8192cu-usb-ids.patch

14 files changed:
queue-6.13/alsa-usb-audio-add-delay-quirk-for-usb-audio-device.patch [new file with mode: 0644]
queue-6.13/hid-wacom-initialize-brightness-of-led-trigger.patch [new file with mode: 0644]
queue-6.13/input-atkbd-map-f23-key-to-support-default-copilot-shortcut.patch [new file with mode: 0644]
queue-6.13/input-xpad-add-qh-electronics-vid-pid.patch [new file with mode: 0644]
queue-6.13/input-xpad-add-support-for-nacon-evol-x-xbox-one-controller.patch [new file with mode: 0644]
queue-6.13/input-xpad-add-support-for-nacon-pro-compact.patch [new file with mode: 0644]
queue-6.13/input-xpad-add-support-for-wooting-two-he-arm.patch [new file with mode: 0644]
queue-6.13/input-xpad-add-unofficial-xbox-360-wireless-receiver-clone.patch [new file with mode: 0644]
queue-6.13/input-xpad-improve-name-of-8bitdo-controller-2dc8-3106.patch [new file with mode: 0644]
queue-6.13/io_uring-rsrc-require-cloned-buffers-to-share-accounting-contexts.patch [new file with mode: 0644]
queue-6.13/revert-usb-gadget-u_serial-disable-ep-before-setting-port-to-null-to-fix-the-crash-caused-by-port-being-null.patch [new file with mode: 0644]
queue-6.13/series
queue-6.13/usb-serial-quatech2-fix-null-ptr-deref-in-qt2_process_read_urb.patch [new file with mode: 0644]
queue-6.13/wifi-rtl8xxxu-add-more-missing-rtl8192cu-usb-ids.patch [new file with mode: 0644]

diff --git a/queue-6.13/alsa-usb-audio-add-delay-quirk-for-usb-audio-device.patch b/queue-6.13/alsa-usb-audio-add-delay-quirk-for-usb-audio-device.patch
new file mode 100644 (file)
index 0000000..6d669a3
--- /dev/null
@@ -0,0 +1,37 @@
+From ad5b205f9e022b407d91f952faddd05718be2866 Mon Sep 17 00:00:00 2001
+From: Lianqin Hu <hulianqin@vivo.com>
+Date: Wed, 15 Jan 2025 09:32:35 +0000
+Subject: ALSA: usb-audio: Add delay quirk for USB Audio Device
+
+From: Lianqin Hu <hulianqin@vivo.com>
+
+commit ad5b205f9e022b407d91f952faddd05718be2866 upstream.
+
+Audio control requests that sets sampling frequency sometimes fail on
+this card. Adding delay between control messages eliminates that problem.
+
+usb 1-1: New USB device found, idVendor=0d8c, idProduct=0014
+usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
+usb 1-1: Product: USB Audio Device
+usb 1-1: Manufacturer: C-Media Electronics Inc.
+
+Signed-off-by: Lianqin Hu <hulianqin@vivo.com>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Link: https://patch.msgid.link/TYUPR06MB6217E94D922B9BF422A73F32D2192@TYUPR06MB6217.apcprd06.prod.outlook.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/usb/quirks.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/usb/quirks.c
++++ b/sound/usb/quirks.c
+@@ -2239,6 +2239,8 @@ static const struct usb_audio_quirk_flag
+                  QUIRK_FLAG_CTL_MSG_DELAY_1M),
+       DEVICE_FLG(0x0c45, 0x6340, /* Sonix HD USB Camera */
+                  QUIRK_FLAG_GET_SAMPLE_RATE),
++      DEVICE_FLG(0x0d8c, 0x0014, /* USB Audio Device */
++                 QUIRK_FLAG_CTL_MSG_DELAY_1M),
+       DEVICE_FLG(0x0ecb, 0x205c, /* JBL Quantum610 Wireless */
+                  QUIRK_FLAG_FIXED_RATE),
+       DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
diff --git a/queue-6.13/hid-wacom-initialize-brightness-of-led-trigger.patch b/queue-6.13/hid-wacom-initialize-brightness-of-led-trigger.patch
new file mode 100644 (file)
index 0000000..ffa2571
--- /dev/null
@@ -0,0 +1,71 @@
+From 88006b8eca63467cf1b28fed839f4954c578eeff Mon Sep 17 00:00:00 2001
+From: Jason Gerecke <jason.gerecke@wacom.com>
+Date: Mon, 9 Dec 2024 10:40:29 -0800
+Subject: HID: wacom: Initialize brightness of LED trigger
+
+From: Jason Gerecke <jason.gerecke@wacom.com>
+
+commit 88006b8eca63467cf1b28fed839f4954c578eeff upstream.
+
+If an LED has a default_trigger set prior to being registered with
+the subsystem, that trigger will be executed with a brightness value
+defined by `trigger->brightness`. Our driver was not setting this
+value, which was causing problems. It would cause the selected LED
+to be turned off, as well as corrupt the hlv/llv values assigned to
+other LEDs (since calling `wacom_led_brightness_set` will overite
+these values).
+
+This patch sets the value of `trigger->brightness` to an appropriate
+value. We use `wacom_leds_brightness_get` to transform the llv/hlv
+values into a brightness that is understood by the rest of the LED
+subsystem.
+
+Fixes: 822c91e72eac ("leds: trigger: Store brightness set by led_trigger_event()")
+Cc: stable@vger.kernel.org # v6.10+
+Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/hid/wacom_sys.c |   24 +++++++++++++-----------
+ 1 file changed, 13 insertions(+), 11 deletions(-)
+
+--- a/drivers/hid/wacom_sys.c
++++ b/drivers/hid/wacom_sys.c
+@@ -1370,17 +1370,6 @@ static int wacom_led_register_one(struct
+       if (!name)
+               return -ENOMEM;
+-      if (!read_only) {
+-              led->trigger.name = name;
+-              error = devm_led_trigger_register(dev, &led->trigger);
+-              if (error) {
+-                      hid_err(wacom->hdev,
+-                              "failed to register LED trigger %s: %d\n",
+-                              led->cdev.name, error);
+-                      return error;
+-              }
+-      }
+-
+       led->group = group;
+       led->id = id;
+       led->wacom = wacom;
+@@ -1397,6 +1386,19 @@ static int wacom_led_register_one(struct
+               led->cdev.brightness_set = wacom_led_readonly_brightness_set;
+       }
++      if (!read_only) {
++              led->trigger.name = name;
++              if (id == wacom->led.groups[group].select)
++                      led->trigger.brightness = wacom_leds_brightness_get(led);
++              error = devm_led_trigger_register(dev, &led->trigger);
++              if (error) {
++                      hid_err(wacom->hdev,
++                              "failed to register LED trigger %s: %d\n",
++                              led->cdev.name, error);
++                      return error;
++              }
++      }
++
+       error = devm_led_classdev_register(dev, &led->cdev);
+       if (error) {
+               hid_err(wacom->hdev,
diff --git a/queue-6.13/input-atkbd-map-f23-key-to-support-default-copilot-shortcut.patch b/queue-6.13/input-atkbd-map-f23-key-to-support-default-copilot-shortcut.patch
new file mode 100644 (file)
index 0000000..177f289
--- /dev/null
@@ -0,0 +1,45 @@
+From 907bc9268a5a9f823ffa751957a5c1dd59f83f42 Mon Sep 17 00:00:00 2001
+From: Mark Pearson <mpearson-lenovo@squebb.ca>
+Date: Mon, 20 Jan 2025 20:24:08 -0800
+Subject: Input: atkbd - map F23 key to support default copilot shortcut
+
+From: Mark Pearson <mpearson-lenovo@squebb.ca>
+
+commit 907bc9268a5a9f823ffa751957a5c1dd59f83f42 upstream.
+
+Microsoft defined Meta+Shift+F23 as the Copilot shortcut instead of a
+dedicated keycode, and multiple vendors have their keyboards emit this
+sequence in response to users pressing a dedicated "Copilot" key.
+Unfortunately the default keymap table in atkbd does not map scancode
+0x6e (F23) and so the key combination does not work even if userspace
+is ready to handle it.
+
+Because this behavior is common between multiple vendors and the
+scancode is currently unused map 0x6e to keycode 193 (KEY_F23) so that
+key sequence is generated properly.
+
+MS documentation for the scan code:
+https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#scan-codes
+Confirmed on Lenovo, HP and Dell machines by Canonical.
+Tested on Lenovo T14s G6 AMD.
+
+Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
+Link: https://lore.kernel.org/r/20250107034554.25843-1-mpearson-lenovo@squebb.ca
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/keyboard/atkbd.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/input/keyboard/atkbd.c
++++ b/drivers/input/keyboard/atkbd.c
+@@ -89,7 +89,7 @@ static const unsigned short atkbd_set2_k
+         0, 46, 45, 32, 18,  5,  4, 95,  0, 57, 47, 33, 20, 19,  6,183,
+         0, 49, 48, 35, 34, 21,  7,184,  0,  0, 50, 36, 22,  8,  9,185,
+         0, 51, 37, 23, 24, 11, 10,  0,  0, 52, 53, 38, 39, 25, 12,  0,
+-        0, 89, 40,  0, 26, 13,  0,  0, 58, 54, 28, 27,  0, 43,  0, 85,
++        0, 89, 40,  0, 26, 13,  0,193, 58, 54, 28, 27,  0, 43,  0, 85,
+         0, 86, 91, 90, 92,  0, 14, 94,  0, 79,124, 75, 71,121,  0,  0,
+        82, 83, 80, 76, 77, 72,  1, 69, 87, 78, 81, 74, 55, 73, 70, 99,
diff --git a/queue-6.13/input-xpad-add-qh-electronics-vid-pid.patch b/queue-6.13/input-xpad-add-qh-electronics-vid-pid.patch
new file mode 100644 (file)
index 0000000..62b5f43
--- /dev/null
@@ -0,0 +1,39 @@
+From 92600f3295ff571890c981d886c6544030cc05f3 Mon Sep 17 00:00:00 2001
+From: "Pierre-Loup A. Griffais" <pgriffais@valvesoftware.com>
+Date: Thu, 16 Jan 2025 10:29:53 -0800
+Subject: Input: xpad - add QH Electronics VID/PID
+
+From: Pierre-Loup A. Griffais <pgriffais@valvesoftware.com>
+
+commit 92600f3295ff571890c981d886c6544030cc05f3 upstream.
+
+Add support for QH Electronics Xbox 360-compatible controller
+
+Signed-off-by: Pierre-Loup A. Griffais <pgriffais@valvesoftware.com>
+Signed-off-by: Vicki Pfau <vi@endrift.com>
+Link: https://lore.kernel.org/r/20250116012518.3476735-1-vi@endrift.com
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/joystick/xpad.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/input/joystick/xpad.c
++++ b/drivers/input/joystick/xpad.c
+@@ -306,6 +306,7 @@ static const struct xpad_device {
+       { 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 },
+       { 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 },
+       { 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 },
++      { 0x1a86, 0xe310, "QH Electronics Controller", 0, XTYPE_XBOX360 },
+       { 0x1bad, 0x0002, "Harmonix Rock Band Guitar", 0, XTYPE_XBOX360 },
+       { 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
+       { 0x1bad, 0x0130, "Ion Drum Rocker", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
+@@ -516,6 +517,7 @@ static const struct usb_device_id xpad_t
+       XPAD_XBOX360_VENDOR(0x1689),            /* Razer Onza */
+       XPAD_XBOX360_VENDOR(0x17ef),            /* Lenovo */
+       XPAD_XBOX360_VENDOR(0x1949),            /* Amazon controllers */
++      XPAD_XBOX360_VENDOR(0x1a86),            /* QH Electronics */
+       XPAD_XBOX360_VENDOR(0x1bad),            /* Harmonix Rock Band guitar and drums */
+       XPAD_XBOX360_VENDOR(0x20d6),            /* PowerA controllers */
+       XPAD_XBOXONE_VENDOR(0x20d6),            /* PowerA controllers */
diff --git a/queue-6.13/input-xpad-add-support-for-nacon-evol-x-xbox-one-controller.patch b/queue-6.13/input-xpad-add-support-for-nacon-evol-x-xbox-one-controller.patch
new file mode 100644 (file)
index 0000000..97775a5
--- /dev/null
@@ -0,0 +1,39 @@
+From 3a6e5ed2372bcb2a3c554fda32419efd91ff9b0c Mon Sep 17 00:00:00 2001
+From: Matheos Mattsson <matheos.mattsson@gmail.com>
+Date: Fri, 17 Jan 2025 17:00:48 -0800
+Subject: Input: xpad - add support for Nacon Evol-X Xbox One Controller
+
+From: Matheos Mattsson <matheos.mattsson@gmail.com>
+
+commit 3a6e5ed2372bcb2a3c554fda32419efd91ff9b0c upstream.
+
+Add Nacon Evol-X Xbox One to the list of supported devices.
+
+Signed-off-by: Matheos Mattsson <matheos.mattsson@gmail.com>
+Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
+Link: https://lore.kernel.org/r/20250107192830.414709-9-rojtberg@gmail.com
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/joystick/xpad.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/input/joystick/xpad.c
++++ b/drivers/input/joystick/xpad.c
+@@ -386,6 +386,7 @@ static const struct xpad_device {
+       { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
+       { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },
+       { 0x3285, 0x0646, "Nacon Pro Compact", 0, XTYPE_XBOXONE },
++      { 0x3285, 0x0663, "Nacon Evol-X", 0, XTYPE_XBOXONE },
+       { 0x3537, 0x1004, "GameSir T4 Kaleid", 0, XTYPE_XBOX360 },
+       { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
+       { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
+@@ -534,6 +535,7 @@ static const struct usb_device_id xpad_t
+       XPAD_XBOX360_VENDOR(0x2f24),            /* GameSir controllers */
+       XPAD_XBOX360_VENDOR(0x31e3),            /* Wooting Keyboards */
+       XPAD_XBOX360_VENDOR(0x3285),            /* Nacon GC-100 */
++      XPAD_XBOXONE_VENDOR(0x3285),            /* Nacon Evol-X */
+       XPAD_XBOX360_VENDOR(0x3537),            /* GameSir Controllers */
+       XPAD_XBOXONE_VENDOR(0x3537),            /* GameSir Controllers */
+       { }
diff --git a/queue-6.13/input-xpad-add-support-for-nacon-pro-compact.patch b/queue-6.13/input-xpad-add-support-for-nacon-pro-compact.patch
new file mode 100644 (file)
index 0000000..ca97af1
--- /dev/null
@@ -0,0 +1,33 @@
+From 1bba29603a2812e7b3dbb4ec1558ecb626ee933e Mon Sep 17 00:00:00 2001
+From: Nicolas Nobelis <nicolas@nobelis.eu>
+Date: Sat, 16 Nov 2024 19:24:19 +0100
+Subject: Input: xpad - add support for Nacon Pro Compact
+
+From: Nicolas Nobelis <nicolas@nobelis.eu>
+
+commit 1bba29603a2812e7b3dbb4ec1558ecb626ee933e upstream.
+
+Add Nacon Pro Compact to the list of supported devices. These are the
+ids of the "Colorlight" variant. The buttons, sticks and vibrations
+work. The decorative LEDs on the other hand do not (they stay turned
+off).
+
+Signed-off-by: Nicolas Nobelis <nicolas@nobelis.eu>
+Link: https://lore.kernel.org/r/20241116182419.33833-1-nicolas@nobelis.eu
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/joystick/xpad.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/joystick/xpad.c
++++ b/drivers/input/joystick/xpad.c
+@@ -383,6 +383,7 @@ static const struct xpad_device {
+       { 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 },
+       { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
+       { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },
++      { 0x3285, 0x0646, "Nacon Pro Compact", 0, XTYPE_XBOXONE },
+       { 0x3537, 0x1004, "GameSir T4 Kaleid", 0, XTYPE_XBOX360 },
+       { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
+       { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
diff --git a/queue-6.13/input-xpad-add-support-for-wooting-two-he-arm.patch b/queue-6.13/input-xpad-add-support-for-wooting-two-he-arm.patch
new file mode 100644 (file)
index 0000000..139abec
--- /dev/null
@@ -0,0 +1,31 @@
+From 222f3390c15c4452a9f7e26f5b7d9138e75d00d5 Mon Sep 17 00:00:00 2001
+From: Jack Greiner <jack@emoss.org>
+Date: Fri, 17 Jan 2025 16:51:58 -0800
+Subject: Input: xpad - add support for wooting two he (arm)
+
+From: Jack Greiner <jack@emoss.org>
+
+commit 222f3390c15c4452a9f7e26f5b7d9138e75d00d5 upstream.
+
+Add Wooting Two HE (ARM) to the list of supported devices.
+
+Signed-off-by: Jack Greiner <jack@emoss.org>
+Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
+Link: https://lore.kernel.org/r/20250107192830.414709-3-rojtberg@gmail.com
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/joystick/xpad.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/joystick/xpad.c
++++ b/drivers/input/joystick/xpad.c
+@@ -382,6 +382,7 @@ static const struct xpad_device {
+       { 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 },
+       { 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 },
+       { 0x31e3, 0x1220, "Wooting Two HE", 0, XTYPE_XBOX360 },
++      { 0x31e3, 0x1230, "Wooting Two HE (ARM)", 0, XTYPE_XBOX360 },
+       { 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 },
+       { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
+       { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },
diff --git a/queue-6.13/input-xpad-add-unofficial-xbox-360-wireless-receiver-clone.patch b/queue-6.13/input-xpad-add-unofficial-xbox-360-wireless-receiver-clone.patch
new file mode 100644 (file)
index 0000000..4ab28d7
--- /dev/null
@@ -0,0 +1,35 @@
+From e4940fe6322c851659c17852b671c6e7b1aa9f56 Mon Sep 17 00:00:00 2001
+From: Nilton Perim Neto <niltonperimneto@gmail.com>
+Date: Fri, 17 Jan 2025 09:34:18 -0800
+Subject: Input: xpad - add unofficial Xbox 360 wireless receiver clone
+
+From: Nilton Perim Neto <niltonperimneto@gmail.com>
+
+commit e4940fe6322c851659c17852b671c6e7b1aa9f56 upstream.
+
+Although it mimics the Microsoft's VendorID, it is in fact a clone.
+Taking into account that the original Microsoft Receiver is not being
+manufactured anymore, this drive can solve dpad issues encontered by
+those who still use the original 360 Wireless controller
+but are using a receiver clone.
+
+Signed-off-by: Nilton Perim Neto <niltonperimneto@gmail.com>
+Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
+Link: https://lore.kernel.org/r/20250107192830.414709-12-rojtberg@gmail.com
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/joystick/xpad.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/joystick/xpad.c
++++ b/drivers/input/joystick/xpad.c
+@@ -150,6 +150,7 @@ static const struct xpad_device {
+       { 0x045e, 0x028e, "Microsoft X-Box 360 pad", 0, XTYPE_XBOX360 },
+       { 0x045e, 0x028f, "Microsoft X-Box 360 pad v2", 0, XTYPE_XBOX360 },
+       { 0x045e, 0x0291, "Xbox 360 Wireless Receiver (XBOX)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360W },
++      { 0x045e, 0x02a9, "Xbox 360 Wireless Receiver (Unofficial)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360W },
+       { 0x045e, 0x02d1, "Microsoft X-Box One pad", 0, XTYPE_XBOXONE },
+       { 0x045e, 0x02dd, "Microsoft X-Box One pad (Firmware 2015)", 0, XTYPE_XBOXONE },
+       { 0x045e, 0x02e3, "Microsoft X-Box One Elite pad", MAP_PADDLES, XTYPE_XBOXONE },
diff --git a/queue-6.13/input-xpad-improve-name-of-8bitdo-controller-2dc8-3106.patch b/queue-6.13/input-xpad-improve-name-of-8bitdo-controller-2dc8-3106.patch
new file mode 100644 (file)
index 0000000..f4b955e
--- /dev/null
@@ -0,0 +1,37 @@
+From 66372fa9936088bf29c4f47907efeff03c51a2c8 Mon Sep 17 00:00:00 2001
+From: Leonardo Brondani Schenkel <leonardo@schenkel.net>
+Date: Fri, 17 Jan 2025 16:46:11 -0800
+Subject: Input: xpad - improve name of 8BitDo controller 2dc8:3106
+
+From: Leonardo Brondani Schenkel <leonardo@schenkel.net>
+
+commit 66372fa9936088bf29c4f47907efeff03c51a2c8 upstream.
+
+8BitDo Pro 2 Wired Controller shares the same USB identifier
+(2dc8:3106) as a different device, so amend name to reflect that and
+reduce confusion as the user might think the controller was misdetected.
+
+Because Pro 2 Wired will not work in XTYPE_XBOXONE mode (button presses
+won't register), tagging it as XTYPE_XBOX360 remains appropriate.
+
+Signed-off-by: Leonardo Brondani Schenkel <leonardo@schenkel.net>
+Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
+Link: https://lore.kernel.org/r/20250107192830.414709-2-rojtberg@gmail.com
+Cc: stable@vger.kernel.org
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/joystick/xpad.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/input/joystick/xpad.c
++++ b/drivers/input/joystick/xpad.c
+@@ -375,7 +375,7 @@ static const struct xpad_device {
+       { 0x294b, 0x3303, "Snakebyte GAMEPAD BASE X", 0, XTYPE_XBOXONE },
+       { 0x294b, 0x3404, "Snakebyte GAMEPAD RGB X", 0, XTYPE_XBOXONE },
+       { 0x2dc8, 0x2000, "8BitDo Pro 2 Wired Controller fox Xbox", 0, XTYPE_XBOXONE },
+-      { 0x2dc8, 0x3106, "8BitDo Pro 2 Wired Controller", 0, XTYPE_XBOX360 },
++      { 0x2dc8, 0x3106, "8BitDo Ultimate Wireless / Pro 2 Wired Controller", 0, XTYPE_XBOX360 },
+       { 0x2dc8, 0x310a, "8BitDo Ultimate 2C Wireless Controller", 0, XTYPE_XBOX360 },
+       { 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE },
+       { 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 },
diff --git a/queue-6.13/io_uring-rsrc-require-cloned-buffers-to-share-accounting-contexts.patch b/queue-6.13/io_uring-rsrc-require-cloned-buffers-to-share-accounting-contexts.patch
new file mode 100644 (file)
index 0000000..eff3776
--- /dev/null
@@ -0,0 +1,44 @@
+From 19d340a2988d4f3e673cded9dde405d727d7e248 Mon Sep 17 00:00:00 2001
+From: Jann Horn <jannh@google.com>
+Date: Tue, 14 Jan 2025 18:49:00 +0100
+Subject: io_uring/rsrc: require cloned buffers to share accounting contexts
+
+From: Jann Horn <jannh@google.com>
+
+commit 19d340a2988d4f3e673cded9dde405d727d7e248 upstream.
+
+When IORING_REGISTER_CLONE_BUFFERS is used to clone buffers from uring
+instance A to uring instance B, where A and B use different MMs for
+accounting, the accounting can go wrong:
+If uring instance A is closed before uring instance B, the pinned memory
+counters for uring instance B will be decremented, even though the pinned
+memory was originally accounted through uring instance A; so the MM of
+uring instance B can end up with negative locked memory.
+
+Cc: stable@vger.kernel.org
+Closes: https://lore.kernel.org/r/CAG48ez1zez4bdhmeGLEFxtbFADY4Czn3CV0u9d_TMcbvRA01bg@mail.gmail.com
+Fixes: 7cc2a6eadcd7 ("io_uring: add IORING_REGISTER_COPY_BUFFERS method")
+Signed-off-by: Jann Horn <jannh@google.com>
+Link: https://lore.kernel.org/r/20250114-uring-check-accounting-v1-1-42e4145aa743@google.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ io_uring/rsrc.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/io_uring/rsrc.c
++++ b/io_uring/rsrc.c
+@@ -931,6 +931,13 @@ static int io_clone_buffers(struct io_ri
+       int i, ret, off, nr;
+       unsigned int nbufs;
++      /*
++       * Accounting state is shared between the two rings; that only works if
++       * both rings are accounted towards the same counters.
++       */
++      if (ctx->user != src_ctx->user || ctx->mm_account != src_ctx->mm_account)
++              return -EINVAL;
++
+       /* if offsets are given, must have nr specified too */
+       if (!arg->nr && (arg->dst_off || arg->src_off))
+               return -EINVAL;
diff --git a/queue-6.13/revert-usb-gadget-u_serial-disable-ep-before-setting-port-to-null-to-fix-the-crash-caused-by-port-being-null.patch b/queue-6.13/revert-usb-gadget-u_serial-disable-ep-before-setting-port-to-null-to-fix-the-crash-caused-by-port-being-null.patch
new file mode 100644 (file)
index 0000000..2df5ebc
--- /dev/null
@@ -0,0 +1,47 @@
+From 086fd062bc3883ae1ce4166cff5355db315ad879 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Fri, 17 Jan 2025 09:17:12 +0100
+Subject: Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+commit 086fd062bc3883ae1ce4166cff5355db315ad879 upstream.
+
+This reverts commit 13014969cbf07f18d62ceea40bd8ca8ec9d36cec.
+
+It is reported to cause crashes on Tegra systems, so revert it for now.
+
+Link: https://lore.kernel.org/r/1037c1ad-9230-4181-b9c3-167dbaa47644@nvidia.com
+Reported-by: Jon Hunter <jonathanh@nvidia.com>
+Cc: stable <stable@kernel.org>
+Cc: Lianqin Hu <hulianqin@vivo.com>
+Link: https://lore.kernel.org/r/2025011711-yippee-fever-a737@gregkh
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/gadget/function/u_serial.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/usb/gadget/function/u_serial.c
++++ b/drivers/usb/gadget/function/u_serial.c
+@@ -1420,10 +1420,6 @@ void gserial_disconnect(struct gserial *
+       /* REVISIT as above: how best to track this? */
+       port->port_line_coding = gser->port_line_coding;
+-      /* disable endpoints, aborting down any active I/O */
+-      usb_ep_disable(gser->out);
+-      usb_ep_disable(gser->in);
+-
+       port->port_usb = NULL;
+       gser->ioport = NULL;
+       if (port->port.count > 0) {
+@@ -1435,6 +1431,10 @@ void gserial_disconnect(struct gserial *
+       spin_unlock(&port->port_lock);
+       spin_unlock_irqrestore(&serial_port_lock, flags);
++      /* disable endpoints, aborting down any active I/O */
++      usb_ep_disable(gser->out);
++      usb_ep_disable(gser->in);
++
+       /* finally, free any unused/unusable I/O buffers */
+       spin_lock_irqsave(&port->port_lock, flags);
+       if (port->port.count == 0)
index a3a5682f719cc5852bc7970d6cc0f669c97024a4..9ac66bb3d8415a7b7c390fba07912c21ace58a74 100644 (file)
@@ -10,3 +10,16 @@ revert-hid-multitouch-add-support-for-lenovo-y9000p-touchpad.patch
 cachestat-fix-page-cache-statistics-permission-checking.patch
 vfio-platform-check-the-bounds-of-read-write-syscalls.patch
 scsi-storvsc-ratelimit-warning-logs-to-prevent-vm-denial-of-service.patch
+usb-serial-quatech2-fix-null-ptr-deref-in-qt2_process_read_urb.patch
+revert-usb-gadget-u_serial-disable-ep-before-setting-port-to-null-to-fix-the-crash-caused-by-port-being-null.patch
+alsa-usb-audio-add-delay-quirk-for-usb-audio-device.patch
+wifi-rtl8xxxu-add-more-missing-rtl8192cu-usb-ids.patch
+hid-wacom-initialize-brightness-of-led-trigger.patch
+io_uring-rsrc-require-cloned-buffers-to-share-accounting-contexts.patch
+input-xpad-add-support-for-nacon-pro-compact.patch
+input-atkbd-map-f23-key-to-support-default-copilot-shortcut.patch
+input-xpad-add-unofficial-xbox-360-wireless-receiver-clone.patch
+input-xpad-add-qh-electronics-vid-pid.patch
+input-xpad-improve-name-of-8bitdo-controller-2dc8-3106.patch
+input-xpad-add-support-for-nacon-evol-x-xbox-one-controller.patch
+input-xpad-add-support-for-wooting-two-he-arm.patch
diff --git a/queue-6.13/usb-serial-quatech2-fix-null-ptr-deref-in-qt2_process_read_urb.patch b/queue-6.13/usb-serial-quatech2-fix-null-ptr-deref-in-qt2_process_read_urb.patch
new file mode 100644 (file)
index 0000000..6b8aa88
--- /dev/null
@@ -0,0 +1,53 @@
+From 575a5adf48b06a2980c9eeffedf699ed5534fade Mon Sep 17 00:00:00 2001
+From: Qasim Ijaz <qasdev00@gmail.com>
+Date: Mon, 13 Jan 2025 18:00:34 +0000
+Subject: USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb()
+
+From: Qasim Ijaz <qasdev00@gmail.com>
+
+commit 575a5adf48b06a2980c9eeffedf699ed5534fade upstream.
+
+This patch addresses a null-ptr-deref in qt2_process_read_urb() due to
+an incorrect bounds check in the following:
+
+       if (newport > serial->num_ports) {
+               dev_err(&port->dev,
+                       "%s - port change to invalid port: %i\n",
+                       __func__, newport);
+               break;
+       }
+
+The condition doesn't account for the valid range of the serial->port
+buffer, which is from 0 to serial->num_ports - 1. When newport is equal
+to serial->num_ports, the assignment of "port" in the
+following code is out-of-bounds and NULL:
+
+       serial_priv->current_port = newport;
+       port = serial->port[serial_priv->current_port];
+
+The fix checks if newport is greater than or equal to serial->num_ports
+indicating it is out-of-bounds.
+
+Reported-by: syzbot <syzbot+506479ebf12fe435d01a@syzkaller.appspotmail.com>
+Closes: https://syzkaller.appspot.com/bug?extid=506479ebf12fe435d01a
+Fixes: f7a33e608d9a ("USB: serial: add quatech2 usb to serial driver")
+Cc: <stable@vger.kernel.org>      # 3.5
+Signed-off-by: Qasim Ijaz <qasdev00@gmail.com>
+Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/serial/quatech2.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/quatech2.c
++++ b/drivers/usb/serial/quatech2.c
+@@ -503,7 +503,7 @@ static void qt2_process_read_urb(struct
+                               newport = *(ch + 3);
+-                              if (newport > serial->num_ports) {
++                              if (newport >= serial->num_ports) {
+                                       dev_err(&port->dev,
+                                               "%s - port change to invalid port: %i\n",
+                                               __func__, newport);
diff --git a/queue-6.13/wifi-rtl8xxxu-add-more-missing-rtl8192cu-usb-ids.patch b/queue-6.13/wifi-rtl8xxxu-add-more-missing-rtl8192cu-usb-ids.patch
new file mode 100644 (file)
index 0000000..df302e2
--- /dev/null
@@ -0,0 +1,106 @@
+From 31be3175bd7be89e39c82b3973c9d4ff55a17583 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Thu, 7 Nov 2024 15:08:33 +0100
+Subject: wifi: rtl8xxxu: add more missing rtl8192cu USB IDs
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 31be3175bd7be89e39c82b3973c9d4ff55a17583 upstream.
+
+The rtl8xxxu has all the rtl8192cu USB IDs from rtlwifi/rtl8192cu/sw.c
+except for the following 10, add these to the untested section so they
+can be used with the rtl8xxxu as the rtl8192cu are well supported.
+
+This fixes these wifi modules not working on distributions which have
+disabled CONFIG_RTL8192CU replacing it with CONFIG_RTL8XXXU_UNTESTED,
+like Fedora.
+
+Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2321540
+Cc: stable@vger.kernel.org
+Cc: Peter Robinson <pbrobinson@gmail.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
+Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
+Link: https://patch.msgid.link/20241107140833.274986-1-hdegoede@redhat.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/realtek/rtl8xxxu/core.c |   20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+--- a/drivers/net/wireless/realtek/rtl8xxxu/core.c
++++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c
+@@ -8147,6 +8147,8 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x817e, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x8186, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x818a, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x317f, 0xff, 0xff, 0xff),
+@@ -8157,12 +8159,18 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x050d, 0x1102, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x050d, 0x11f2, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x06f8, 0xe033, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x07b8, 0x8188, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x07b8, 0x8189, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x0846, 0x9041, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x0846, 0x9043, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x17ba, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x1e1e, 0xff, 0xff, 0xff),
+@@ -8179,6 +8187,10 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x13d3, 0x3357, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x13d3, 0x3358, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x13d3, 0x3359, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x330b, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x2019, 0x4902, 0xff, 0xff, 0xff),
+@@ -8193,6 +8205,8 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x4856, 0x0091, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x9846, 0x9041, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0xcdab, 0x8010, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x04f2, 0xaff7, 0xff, 0xff, 0xff),
+@@ -8218,6 +8232,8 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x0586, 0x341f, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x06f8, 0xe033, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x06f8, 0xe035, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x17ab, 0xff, 0xff, 0xff),
+@@ -8226,6 +8242,8 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x0df6, 0x0070, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x0df6, 0x0077, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x0789, 0x016d, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x07aa, 0x0056, 0xff, 0xff, 0xff),
+@@ -8248,6 +8266,8 @@ static const struct usb_device_id dev_ta
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x330a, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
++{USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x330d, 0xff, 0xff, 0xff),
++      .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x2019, 0xab2b, 0xff, 0xff, 0xff),
+       .driver_info = (unsigned long)&rtl8192cu_fops},
+ {USB_DEVICE_AND_INTERFACE_INFO(0x20f4, 0x624d, 0xff, 0xff, 0xff),