fix(usb): Suppress expected serial close warnings#5932
Merged
jamesarich merged 1 commit intoJun 24, 2026
Conversation
In SerialRadioTransport.onDisconnected(), the explicitCloseInProgress guard sat below both Logger.w calls. During an explicit close() the reader-thread teardown fires onDisconnected synchronously, so the guard was always too late: every expected close emitted a "Serial error" and "Serial device disconnected" warning, even though nothing went wrong. Hoist the guard above the warning logs. Real USB unplug / I/O errors (thrown != null, or unexpected reader termination) still surface at warning level; only the path where explicitCloseInProgress.get() is true — i.e. our own close() — is now silent.
jamesarich
approved these changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This pull request suppresses warning-log noise from expected USB serial closes.
After the USB replug recovery work, explicit serial transport shutdown correctly suppresses disconnect propagation, but the serial reader callback could still log scary warning messages before checking whether the disconnect was caused by an explicit
close(). That made normal teardown look like an unexpected USB/cable failure.This change moves the explicit-close guard to the top of
SerialRadioTransport.onDisconnected(...), before uptime calculation and warning logging.Key Changes
SerialRadioTransport.onDisconnected(...)whenexplicitCloseInProgressis set.close().Testing
Migration Notes