+++ /dev/null
-From 88b4d528eda4ac71c2952b3458f2abbc80a91cd2 Mon Sep 17 00:00:00 2001
-From: Zenm Chen <zenmchen@gmail.com>
-Date: Tue, 26 May 2026 00:19:42 +0800
-Subject: Bluetooth: btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB
-
-From: Zenm Chen <zenmchen@gmail.com>
-
-commit 88b4d528eda4ac71c2952b3458f2abbc80a91cd2 upstream.
-
-Add USB ID 2c4e:0128 for Mercusys MA60XNB, an RTL8851BU-based
-Wi-Fi + Bluetooth adapter.
-
-The information in /sys/kernel/debug/usb/devices about the Bluetooth
-device is listed as the below:
-
-T: Bus=03 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
-D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
-P: Vendor=2c4e ProdID=0128 Rev= 0.00
-S: Manufacturer=Realtek
-S: Product=802.11ax WLAN Adapter
-S: SerialNumber=00e04c000001
-C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA
-A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01
-I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
-E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-I: If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 63 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 63 Ivl=1ms
-I:* If#= 2 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtw89_8851bu
-E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-
-Cc: stable@vger.kernel.org # 6.6.x
-Signed-off-by: Zenm Chen <zenmchen@gmail.com>
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/bluetooth/btusb.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -436,6 +436,8 @@ static const struct usb_device_id blackl
- BTUSB_WIDEBAND_SPEECH },
- { USB_DEVICE(0x0489, 0xe125), .driver_info = BTUSB_REALTEK |
- BTUSB_WIDEBAND_SPEECH },
-+ { USB_DEVICE(0x2c4e, 0x0128), .driver_info = BTUSB_REALTEK |
-+ BTUSB_WIDEBAND_SPEECH },
-
- /* Realtek Bluetooth devices */
- { USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01),
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -4371,12 +4371,21 @@ static int btusb_probe(struct usb_interf
+@@ -4369,12 +4369,21 @@ static int btusb_probe(struct usb_interf
err = hci_register_dev(hdev);
if (err < 0)
alsa-usb-audio-roll-back-quirk-control-caches-on-write-errors.patch
alsa-usb-audio-update-babyface-pro-control-caches-only-after-successful-writes.patch
alsa-usb-audio-update-us-16x08-eq-comp-shadow-state-after-successful-writes.patch
-bluetooth-btusb-add-usb-id-2c4e-0128-for-mercusys-ma60xnb.patch
bluetooth-btusb-fix-use-after-free-on-registration-failure.patch
binder-fix-uaf-in-binder_thread_release.patch
usb-xhci-fix-sleep-in-atomic-context-in-xhci_free_streams.patch
+++ /dev/null
-From 88b4d528eda4ac71c2952b3458f2abbc80a91cd2 Mon Sep 17 00:00:00 2001
-From: Zenm Chen <zenmchen@gmail.com>
-Date: Tue, 26 May 2026 00:19:42 +0800
-Subject: Bluetooth: btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB
-
-From: Zenm Chen <zenmchen@gmail.com>
-
-commit 88b4d528eda4ac71c2952b3458f2abbc80a91cd2 upstream.
-
-Add USB ID 2c4e:0128 for Mercusys MA60XNB, an RTL8851BU-based
-Wi-Fi + Bluetooth adapter.
-
-The information in /sys/kernel/debug/usb/devices about the Bluetooth
-device is listed as the below:
-
-T: Bus=03 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
-D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
-P: Vendor=2c4e ProdID=0128 Rev= 0.00
-S: Manufacturer=Realtek
-S: Product=802.11ax WLAN Adapter
-S: SerialNumber=00e04c000001
-C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA
-A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01
-I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
-E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-I: If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 63 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 63 Ivl=1ms
-I:* If#= 2 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtw89_8851bu
-E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-
-Cc: stable@vger.kernel.org # 6.6.x
-Signed-off-by: Zenm Chen <zenmchen@gmail.com>
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/bluetooth/btusb.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -527,6 +527,8 @@ static const struct usb_device_id blackl
- BTUSB_WIDEBAND_SPEECH },
- { USB_DEVICE(0x2550, 0x8761), .driver_info = BTUSB_REALTEK |
- BTUSB_WIDEBAND_SPEECH },
-+ { USB_DEVICE(0x2c4e, 0x0128), .driver_info = BTUSB_REALTEK |
-+ BTUSB_WIDEBAND_SPEECH },
-
- /* Additional Realtek 8821AE Bluetooth devices */
- { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK },
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -3948,7 +3948,7 @@ static int btusb_probe(struct usb_interf
+@@ -3946,7 +3946,7 @@ static int btusb_probe(struct usb_interf
if (id->driver_info & BTUSB_INTEL_COMBINED) {
err = btintel_configure_setup(hdev);
if (err)
/* Transport specific configuration */
hdev->send = btusb_send_frame_intel;
-@@ -4086,7 +4086,7 @@ static int btusb_probe(struct usb_interf
+@@ -4084,7 +4084,7 @@ static int btusb_probe(struct usb_interf
err = usb_set_interface(data->udev, 0, 0);
if (err < 0) {
BT_ERR("failed to set interface 0, alt 0 %d", err);
}
}
-@@ -4094,7 +4094,7 @@ static int btusb_probe(struct usb_interf
+@@ -4092,7 +4092,7 @@ static int btusb_probe(struct usb_interf
err = usb_driver_claim_interface(&btusb_driver,
data->isoc, data);
if (err < 0)
}
if (IS_ENABLED(CONFIG_BT_HCIBTUSB_BCM) && data->diag) {
-@@ -4125,6 +4125,8 @@ err_release_siblings:
+@@ -4123,6 +4123,8 @@ err_release_siblings:
usb_set_intfdata(data->isoc, NULL);
usb_driver_release_interface(&btusb_driver, data->isoc);
}
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -4110,12 +4110,21 @@ static int btusb_probe(struct usb_interf
+@@ -4108,12 +4108,21 @@ static int btusb_probe(struct usb_interf
err = hci_register_dev(hdev);
if (err < 0)
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -3198,6 +3198,11 @@ static int marvell_config_oob_wake(struc
+@@ -3196,6 +3196,11 @@ static int marvell_config_oob_wake(struc
return 0;
}
#endif
static int btusb_set_bdaddr_marvell(struct hci_dev *hdev,
-@@ -3727,6 +3732,11 @@ static int btusb_config_oob_wake(struct
+@@ -3725,6 +3730,11 @@ static int btusb_config_oob_wake(struct
bt_dev_info(hdev, "OOB Wake-on-BT configured at IRQ %u", irq);
return 0;
}
#endif
static void btusb_check_needs_reset_resume(struct usb_interface *intf)
-@@ -3902,7 +3912,6 @@ static int btusb_probe(struct usb_interf
+@@ -3900,7 +3910,6 @@ static int btusb_probe(struct usb_interf
hdev->notify = btusb_notify;
hdev->prevent_wake = btusb_prevent_wake;
err = btusb_config_oob_wake(hdev);
if (err)
goto out_free_dev;
-@@ -3911,9 +3920,9 @@ static int btusb_probe(struct usb_interf
+@@ -3909,9 +3918,9 @@ static int btusb_probe(struct usb_interf
if (id->driver_info & BTUSB_MARVELL && data->oob_wake_irq) {
err = marvell_config_oob_wake(hdev);
if (err)
if (id->driver_info & BTUSB_CW6622)
set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks);
-@@ -4127,6 +4136,9 @@ err_release_siblings:
+@@ -4125,6 +4134,9 @@ err_release_siblings:
}
err_kill_tx_urbs:
usb_kill_anchored_urbs(&data->tx_anchor);
alsa-usb-audio-roll-back-quirk-control-caches-on-write-errors.patch
alsa-usb-audio-update-babyface-pro-control-caches-only-after-successful-writes.patch
alsa-usb-audio-update-us-16x08-eq-comp-shadow-state-after-successful-writes.patch
-bluetooth-btusb-add-usb-id-2c4e-0128-for-mercusys-ma60xnb.patch
bluetooth-btusb-fix-use-after-free-on-registration-failure.patch
bluetooth-btusb-fix-use-after-free-on-marvell-probe-failure.patch
bluetooth-btusb-fix-wakeup-source-leak-on-probe-failure.patch
+++ /dev/null
-From 88b4d528eda4ac71c2952b3458f2abbc80a91cd2 Mon Sep 17 00:00:00 2001
-From: Zenm Chen <zenmchen@gmail.com>
-Date: Tue, 26 May 2026 00:19:42 +0800
-Subject: Bluetooth: btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB
-
-From: Zenm Chen <zenmchen@gmail.com>
-
-commit 88b4d528eda4ac71c2952b3458f2abbc80a91cd2 upstream.
-
-Add USB ID 2c4e:0128 for Mercusys MA60XNB, an RTL8851BU-based
-Wi-Fi + Bluetooth adapter.
-
-The information in /sys/kernel/debug/usb/devices about the Bluetooth
-device is listed as the below:
-
-T: Bus=03 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
-D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
-P: Vendor=2c4e ProdID=0128 Rev= 0.00
-S: Manufacturer=Realtek
-S: Product=802.11ax WLAN Adapter
-S: SerialNumber=00e04c000001
-C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA
-A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01
-I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
-E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
-I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
-I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
-I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
-I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
-I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
-I: If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
-E: Ad=03(O) Atr=01(Isoc) MxPS= 63 Ivl=1ms
-E: Ad=83(I) Atr=01(Isoc) MxPS= 63 Ivl=1ms
-I:* If#= 2 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtw89_8851bu
-E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-E: Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
-
-Cc: stable@vger.kernel.org # 6.6.x
-Signed-off-by: Zenm Chen <zenmchen@gmail.com>
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/bluetooth/btusb.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -538,6 +538,8 @@ static const struct usb_device_id blackl
- BTUSB_WIDEBAND_SPEECH },
- { USB_DEVICE(0x0489, 0xe122), .driver_info = BTUSB_REALTEK |
- BTUSB_WIDEBAND_SPEECH },
-+ { USB_DEVICE(0x2c4e, 0x0128), .driver_info = BTUSB_REALTEK |
-+ BTUSB_WIDEBAND_SPEECH },
-
- /* Realtek 8852BE Bluetooth devices */
- { USB_DEVICE(0x0cb8, 0xc559), .driver_info = BTUSB_REALTEK |
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -4015,7 +4015,7 @@ static int btusb_probe(struct usb_interf
+@@ -4013,7 +4013,7 @@ static int btusb_probe(struct usb_interf
if (id->driver_info & BTUSB_INTEL_COMBINED) {
err = btintel_configure_setup(hdev);
if (err)
/* Transport specific configuration */
hdev->send = btusb_send_frame_intel;
-@@ -4163,7 +4163,7 @@ static int btusb_probe(struct usb_interf
+@@ -4161,7 +4161,7 @@ static int btusb_probe(struct usb_interf
err = usb_set_interface(data->udev, 0, 0);
if (err < 0) {
BT_ERR("failed to set interface 0, alt 0 %d", err);
}
}
-@@ -4171,7 +4171,7 @@ static int btusb_probe(struct usb_interf
+@@ -4169,7 +4169,7 @@ static int btusb_probe(struct usb_interf
err = usb_driver_claim_interface(&btusb_driver,
data->isoc, data);
if (err < 0)
}
if (IS_ENABLED(CONFIG_BT_HCIBTUSB_BCM) && data->diag) {
-@@ -4205,6 +4205,8 @@ err_release_siblings:
+@@ -4203,6 +4203,8 @@ err_release_siblings:
usb_set_intfdata(data->isoc, NULL);
usb_driver_release_interface(&btusb_driver, data->isoc);
}
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -4187,7 +4187,7 @@ static int btusb_probe(struct usb_interf
+@@ -4185,7 +4185,7 @@ static int btusb_probe(struct usb_interf
err = hci_register_dev(hdev);
if (err < 0)
usb_set_intfdata(intf, data);
-@@ -4196,6 +4196,15 @@ static int btusb_probe(struct usb_interf
+@@ -4194,6 +4194,15 @@ static int btusb_probe(struct usb_interf
return 0;
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
-@@ -3157,6 +3157,11 @@ static int marvell_config_oob_wake(struc
+@@ -3155,6 +3155,11 @@ static int marvell_config_oob_wake(struc
return 0;
}
#endif
static int btusb_set_bdaddr_marvell(struct hci_dev *hdev,
-@@ -3746,6 +3751,11 @@ static int btusb_config_oob_wake(struct
+@@ -3744,6 +3749,11 @@ static int btusb_config_oob_wake(struct
bt_dev_info(hdev, "OOB Wake-on-BT configured at IRQ %u", irq);
return 0;
}
#endif
static void btusb_check_needs_reset_resume(struct usb_interface *intf)
-@@ -3969,7 +3979,6 @@ static int btusb_probe(struct usb_interf
+@@ -3967,7 +3977,6 @@ static int btusb_probe(struct usb_interf
hdev->notify = btusb_notify;
hdev->wakeup = btusb_wakeup;
err = btusb_config_oob_wake(hdev);
if (err)
goto out_free_dev;
-@@ -3978,9 +3987,9 @@ static int btusb_probe(struct usb_interf
+@@ -3976,9 +3985,9 @@ static int btusb_probe(struct usb_interf
if (id->driver_info & BTUSB_MARVELL && data->oob_wake_irq) {
err = marvell_config_oob_wake(hdev);
if (err)
if (id->driver_info & BTUSB_CW6622)
set_bit(HCI_QUIRK_BROKEN_STORED_LINK_KEY, &hdev->quirks);
-@@ -4207,6 +4216,9 @@ err_release_siblings:
+@@ -4205,6 +4214,9 @@ err_release_siblings:
}
err_kill_tx_urbs:
usb_kill_anchored_urbs(&data->tx_anchor);
alsa-usb-audio-update-babyface-pro-control-caches-only-after-successful-writes.patch
alsa-usb-audio-update-us-16x08-eq-comp-shadow-state-after-successful-writes.patch
vfio-pci-release-the-vga-arbiter-client-on-register_device-failure.patch
-bluetooth-btusb-add-usb-id-2c4e-0128-for-mercusys-ma60xnb.patch
bluetooth-btusb-fix-use-after-free-on-registration-failure.patch
bluetooth-btusb-fix-use-after-free-on-marvell-probe-failure.patch
bluetooth-btusb-fix-wakeup-source-leak-on-probe-failure.patch