diff --git a/rog-core/src/core.rs b/rog-core/src/core.rs index 15b077b7..617f07d4 100644 --- a/rog-core/src/core.rs +++ b/rog-core/src/core.rs @@ -32,10 +32,16 @@ pub struct RogCore { impl RogCore { pub fn new(vendor: u16, product: u16, led_endpoint: u8) -> Result> { - let mut dev_handle = RogCore::get_device(vendor, product)?; + let mut dev_handle = RogCore::get_device(vendor, product).map_err(|err| { + error!("Could not get device handle: {:?}", err); + err + })?; dev_handle.set_active_configuration(0).unwrap_or(()); - let dev_config = dev_handle.device().config_descriptor(0)?; + let dev_config = dev_handle.device().config_descriptor(0).map_err(|err| { + error!("Could not get device config: {:?}", err); + err + })?; // Interface with outputs let mut interface = 0; for iface in dev_config.interfaces() { @@ -54,8 +60,16 @@ impl RogCore { } } - dev_handle.set_auto_detach_kernel_driver(true)?; - dev_handle.claim_interface(interface)?; + dev_handle + .set_auto_detach_kernel_driver(true) + .map_err(|err| { + error!("Auto-detach kernel driver failed: {:?}", err); + err + })?; + dev_handle.claim_interface(interface).map_err(|err| { + error!("Could not claim device interface: {:?}", err); + err + })?; Ok(RogCore { handle: dev_handle, diff --git a/rog-core/src/daemon.rs b/rog-core/src/daemon.rs index 52a15d50..466929f9 100644 --- a/rog-core/src/daemon.rs +++ b/rog-core/src/daemon.rs @@ -138,7 +138,7 @@ pub async fn start_daemon() -> Result<(), Box> { // Check if single mode if let Ok(mut lock) = input.try_lock() { if let Some(bytes) = lock.take() { - if bytes.len() > 0 { + if !bytes.is_empty() { let mut config = config.lock().await; led_writer .do_command(AuraCommand::WriteBytes(bytes), &mut config)