From 5ac12ef088e45d66da110d4564ed4ff9aa9b6673 Mon Sep 17 00:00:00 2001 From: Kevin Mehall Date: Sat, 24 May 2025 12:06:10 -0700 Subject: [PATCH] macos: map error type for control timeout --- src/platform/macos_iokit/iokit_c.rs | 2 -- src/platform/macos_iokit/mod.rs | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/platform/macos_iokit/iokit_c.rs b/src/platform/macos_iokit/iokit_c.rs index 96747b0..dd0bb04 100644 --- a/src/platform/macos_iokit/iokit_c.rs +++ b/src/platform/macos_iokit/iokit_c.rs @@ -61,8 +61,6 @@ pub(crate) const kIOUSBTransactionTimeout: c_int = SYS_IOKIT | SUB_IOKIT_USB | 0 pub(crate) const kIOUSBFindInterfaceDontCare: UInt16 = 0xFFFF; -// - // // Type aliases. // diff --git a/src/platform/macos_iokit/mod.rs b/src/platform/macos_iokit/mod.rs index fde0128..d2e87bc 100644 --- a/src/platform/macos_iokit/mod.rs +++ b/src/platform/macos_iokit/mod.rs @@ -29,7 +29,9 @@ fn status_to_transfer_result(status: IOReturn) -> Result<(), TransferError> { match status { io_kit_sys::ret::kIOReturnSuccess | io_kit_sys::ret::kIOReturnUnderrun => Ok(()), io_kit_sys::ret::kIOReturnNoDevice => Err(TransferError::Disconnected), - io_kit_sys::ret::kIOReturnAborted => Err(TransferError::Cancelled), + io_kit_sys::ret::kIOReturnAborted | iokit_c::kIOUSBTransactionTimeout => { + Err(TransferError::Cancelled) + } iokit_c::kIOUSBPipeStalled => Err(TransferError::Stall), _ => Err(TransferError::Unknown(status as u32)), }