From 56cd05a7c9a1bbd621e74b305fef5ef55915b948 Mon Sep 17 00:00:00 2001 From: Henri Chataing Date: Thu, 23 Apr 2026 09:57:43 +0000 Subject: [PATCH] Add printf traces for LL HCI failure points (#54) --- rust/src/ffi.rs | 10 ++++++---- rust/src/llcp/manager.rs | 5 ++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/rust/src/ffi.rs b/rust/src/ffi.rs index 95a7cfe..7c70aa1 100644 --- a/rust/src/ffi.rs +++ b/rust/src/ffi.rs @@ -324,10 +324,12 @@ pub unsafe extern "C" fn link_layer_ingest_hci( let ll = Rc::get_mut(&mut ll).unwrap(); let data = unsafe { slice::from_raw_parts(data, len) }; - if let Ok(packet) = hci::Command::decode_full(data) { - ll.ingest_hci(packet).is_ok() - } else { - false + match hci::Command::decode_full(data) { + Ok(packet) => ll.ingest_hci(packet).is_ok(), + Err(err) => { + println!("failed to decode LL HCI command: {}", err); + false + } } } diff --git a/rust/src/llcp/manager.rs b/rust/src/llcp/manager.rs index d5ef9b3..f35f2d6 100644 --- a/rust/src/llcp/manager.rs +++ b/rust/src/llcp/manager.rs @@ -98,7 +98,10 @@ impl LinkLayer { Ok(LeRemoveIsoDataPath(packet)) => self.iso.hci_le_remove_iso_data_path(packet), Ok(LeCreateBig(packet)) => self.iso.hci_le_create_big(packet), Ok(LeTerminateBig(packet)) => self.iso.hci_le_terminate_big(packet), - _ => Err(LinkLayerError::UnhandledHciPacket)?, + _ => { + println!("Unhandled LL HCI command {:?}", packet.op_code); + Err(LinkLayerError::UnhandledHciPacket)? + } }; Ok(()) }