[ Sasha's backport helper bot ] Hi, The upstream commit SHA1 provided is correct: 505ea2b295929e7be2b4e1bc86ee31cb7862fb01 WARNING: Author mismatch between patch and upstream commit: Backport author: Xiangyu Chen <xiangyu.chen@xxxxxxxxxxxxxxxxx> Commit author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Status in newer kernel trees: 6.12.y | Present (exact SHA1) 6.11.y | Present (exact SHA1) 6.6.y | Present (different SHA1: 1499f79995c7) 6.1.y | Not found Note: The patch differs from the upstream commit: --- --- - 2024-11-26 08:03:56.550627469 -0500 +++ /tmp/tmp.7ZWCalBDha 2024-11-26 08:03:56.544829170 -0500 @@ -1,17 +1,20 @@ +[ Upstream commit 505ea2b295929e7be2b4e1bc86ee31cb7862fb01 ] + This adds functions to queue, dequeue and lookup into the cmd_sync list. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> +Signed-off-by: Xiangyu Chen <xiangyu.chen@xxxxxxxxxxxxx> --- include/net/bluetooth/hci_sync.h | 12 +++ net/bluetooth/hci_sync.c | 132 +++++++++++++++++++++++++++++-- 2 files changed, 136 insertions(+), 8 deletions(-) diff --git a/include/net/bluetooth/hci_sync.h b/include/net/bluetooth/hci_sync.h -index ed334c253ebcd..4ff4aa68ee196 100644 +index 7accd5ff0760..3a7658d66022 100644 --- a/include/net/bluetooth/hci_sync.h +++ b/include/net/bluetooth/hci_sync.h -@@ -48,6 +48,18 @@ int hci_cmd_sync_submit(struct hci_dev *hdev, hci_cmd_sync_work_func_t func, +@@ -47,6 +47,18 @@ int hci_cmd_sync_submit(struct hci_dev *hdev, hci_cmd_sync_work_func_t func, void *data, hci_cmd_sync_work_destroy_t destroy); int hci_cmd_sync_queue(struct hci_dev *hdev, hci_cmd_sync_work_func_t func, void *data, hci_cmd_sync_work_destroy_t destroy); @@ -31,10 +34,10 @@ int hci_update_eir_sync(struct hci_dev *hdev); int hci_update_class_sync(struct hci_dev *hdev); diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c -index e1fdcb3c27062..5b314bf844f84 100644 +index 862ac5e1f4b4..b7a7b2afaa04 100644 --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c -@@ -566,6 +566,17 @@ void hci_cmd_sync_init(struct hci_dev *hdev) +@@ -650,6 +650,17 @@ void hci_cmd_sync_init(struct hci_dev *hdev) INIT_DELAYED_WORK(&hdev->adv_instance_expire, adv_timeout_expire); } @@ -52,7 +55,7 @@ void hci_cmd_sync_clear(struct hci_dev *hdev) { struct hci_cmd_sync_work_entry *entry, *tmp; -@@ -574,13 +585,8 @@ void hci_cmd_sync_clear(struct hci_dev *hdev) +@@ -658,13 +669,8 @@ void hci_cmd_sync_clear(struct hci_dev *hdev) cancel_work_sync(&hdev->reenable_adv_work); mutex_lock(&hdev->cmd_sync_work_lock); @@ -68,7 +71,7 @@ mutex_unlock(&hdev->cmd_sync_work_lock); } -@@ -669,6 +675,115 @@ int hci_cmd_sync_queue(struct hci_dev *hdev, hci_cmd_sync_work_func_t func, +@@ -756,6 +762,115 @@ int hci_cmd_sync_queue(struct hci_dev *hdev, hci_cmd_sync_work_func_t func, } EXPORT_SYMBOL(hci_cmd_sync_queue); @@ -184,7 +187,7 @@ int hci_update_eir_sync(struct hci_dev *hdev) { struct hci_cp_write_eir cp; -@@ -2881,7 +2996,8 @@ int hci_update_passive_scan(struct hci_dev *hdev) +@@ -3023,7 +3138,8 @@ int hci_update_passive_scan(struct hci_dev *hdev) hci_dev_test_flag(hdev, HCI_UNREGISTER)) return 0; @@ -194,3 +197,6 @@ } int hci_write_sc_support_sync(struct hci_dev *hdev, u8 val) +-- +2.43.0 + --- Results of testing on various branches: | Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |