diff --git a/applications/nrf_desktop/src/modules/ble_scan.c b/applications/nrf_desktop/src/modules/ble_scan.c index a70c2547edc..3da120652cc 100644 --- a/applications/nrf_desktop/src/modules/ble_scan.c +++ b/applications/nrf_desktop/src/modules/ble_scan.c @@ -139,6 +139,10 @@ static void broadcast_scan_state(bool active) static void scan_stop(void) { + if (!scanning) { + return; + } + int err = bt_scan_stop(); if (err == -EALREADY) { @@ -324,9 +328,7 @@ static void scan_start(void) size_t bond_count = count_bond(); int err; - if (scanning) { - scan_stop(); - } + scan_stop(); if (IS_ENABLED(CONFIG_DESKTOP_BLE_SCAN_PM_EVENTS) && scan_blocked) { LOG_INF("Power down mode - scanning blocked"); @@ -506,10 +508,7 @@ static bool handle_hid_report_event(const struct hid_report_event *event) /* Do not scan when devices are in use. */ scan_counter = 0; - - if (scanning) { - scan_stop(); - } + scan_stop(); return false; } @@ -646,10 +645,7 @@ static bool handle_ble_discovery_complete_event(const struct ble_discovery_compl static bool handle_power_down_event(const struct power_down_event *event) { - if (scanning) { - scan_stop(); - } - + scan_stop(); scan_blocked = true; (void)k_work_cancel_delayable(&scan_start_trigger);