diff --git a/tools/rootcanal/model/controller/link_layer_controller.cc b/tools/rootcanal/model/controller/link_layer_controller.cc
index e2018aa59c05380e8fac775481185e9584b0343c..47e4ee19a8e035a20672477c7f83aed0c71c271e 100644
--- a/tools/rootcanal/model/controller/link_layer_controller.cc
+++ b/tools/rootcanal/model/controller/link_layer_controller.cc
@@ -3641,14 +3641,21 @@ bool LinkLayerController::LeResolvingListFull() {
 }
 
 void LinkLayerController::Reset() {
+  connections_ = AclConnectionHandler();
+  le_connect_list_.clear();
+  le_resolving_list_.clear();
+  le_resolving_list_enabled_ = false;
+  le_connecting_rpa_ = Address();
+  LeDisableAdvertisingSets();
+  le_scan_enable_ = bluetooth::hci::OpCode::NONE;
+  le_connect_ = false;
   if (inquiry_timer_task_id_ != kInvalidTaskId) {
     CancelScheduledTask(inquiry_timer_task_id_);
     inquiry_timer_task_id_ = kInvalidTaskId;
   }
   last_inquiry_ = steady_clock::now();
-  le_scan_enable_ = bluetooth::hci::OpCode::NONE;
-  LeDisableAdvertisingSets();
-  le_connect_ = 0;
+  page_scans_enabled_ = false;
+  inquiry_scans_enabled_ = false;
 }
 
 void LinkLayerController::StartInquiry(milliseconds timeout) {