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(()) }