From 79ae28fbb7a3c06e8d4156e978d96114d454297b Mon Sep 17 00:00:00 2001 From: JinCheng Date: Mon, 25 Aug 2025 15:53:48 +0800 Subject: [PATCH] fix(bt/bluedroid): update the COD before enabling inquiry scan --- components/bt/host/bluedroid/stack/btm/btm_inq.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/bt/host/bluedroid/stack/btm/btm_inq.c b/components/bt/host/bluedroid/stack/btm/btm_inq.c index 4456140df9..41a47300e7 100644 --- a/components/bt/host/bluedroid/stack/btm/btm_inq.c +++ b/components/bt/host/bluedroid/stack/btm/btm_inq.c @@ -240,13 +240,6 @@ tBTM_STATUS BTM_SetDiscoverability (UINT16 inq_mode, UINT16 window, UINT16 inter scan_mode |= HCI_PAGE_SCAN_ENABLED; } - if (btsnd_hcic_write_scan_enable (scan_mode)) { - btm_cb.btm_inq_vars.discoverable_mode &= (~BTM_DISCOVERABLE_MASK); - btm_cb.btm_inq_vars.discoverable_mode |= inq_mode; - } else { - return (BTM_NO_RESOURCES); - } - /* Change the service class bit if mode has changed */ p_cod = BTM_ReadDeviceClass(); BTM_COD_SERVICE_CLASS(service_class, p_cod); @@ -266,6 +259,13 @@ tBTM_STATUS BTM_SetDiscoverability (UINT16 inq_mode, UINT16 window, UINT16 inter (void) BTM_SetDeviceClass (cod); } + if (btsnd_hcic_write_scan_enable (scan_mode)) { + btm_cb.btm_inq_vars.discoverable_mode &= (~BTM_DISCOVERABLE_MASK); + btm_cb.btm_inq_vars.discoverable_mode |= inq_mode; + } else { + return (BTM_NO_RESOURCES); + } + return (BTM_SUCCESS); }