Set the connection data before calling get_conn_info_sync, so it can be
verified the connection is still connected, before refreshing cached
values.
Fixes: 47db6b42991e6 ("Bluetooth: hci_sync: Convert MGMT_OP_GET_CONN_INFO")
Signed-off-by: Zhengping Jiang <[email protected]>
---
Changes in v1:
- Set connection data before calling hci_cmd_sync_queue
net/bluetooth/mgmt.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 74937a8346488..cfbea6fa04335 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -6828,11 +6828,14 @@ static int get_conn_info(struct sock *sk, struct hci_dev *hdev, void *data,
cmd = mgmt_pending_new(sk, MGMT_OP_GET_CONN_INFO, hdev, data,
len);
- if (!cmd)
+ if (!cmd) {
err = -ENOMEM;
- else
+ } else {
+ hci_conn_hold(conn);
+ cmd->user_data = hci_conn_get(conn);
err = hci_cmd_sync_queue(hdev, get_conn_info_sync,
cmd, get_conn_info_complete);
+ }
if (err < 0) {
mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO,
@@ -6844,9 +6847,6 @@ static int get_conn_info(struct sock *sk, struct hci_dev *hdev, void *data,
goto unlock;
}
- hci_conn_hold(conn);
- cmd->user_data = hci_conn_get(conn);
-
conn->conn_info_timestamp = jiffies;
} else {
/* Cache is valid, just reply with values cached in hci_conn */
--
2.36.1.476.g0c4daa206d-goog
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=649987
---Test result---
Test Summary:
CheckPatch PASS 0.86 seconds
GitLint PASS 0.46 seconds
SubjectPrefix PASS 0.30 seconds
BuildKernel PASS 38.53 seconds
BuildKernel32 PASS 34.31 seconds
Incremental Build with patchesPASS 45.95 seconds
TestRunner: Setup PASS 572.80 seconds
TestRunner: l2cap-tester PASS 19.34 seconds
TestRunner: bnep-tester PASS 6.96 seconds
TestRunner: mgmt-tester PASS 116.57 seconds
TestRunner: rfcomm-tester PASS 10.94 seconds
TestRunner: sco-tester PASS 10.47 seconds
TestRunner: smp-tester PASS 10.43 seconds
TestRunner: userchan-tester PASS 7.09 seconds
---
Regards,
Linux Bluetooth