Skip to content

Commit

Permalink
Merge pull request #129 from rust-embedded-community/rs/issue-128/usb…
Browse files Browse the repository at this point in the history
…-control-transfers

Fixing an issue with windows device enumeration
  • Loading branch information
ryan-summers authored Nov 1, 2023
2 parents 3a2f78e + ac0345a commit d6eaf93
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

### Fixed
* Fixed a defect where enumeration may fail due to timing-related issues ([#128](https://github.com/rust-embedded-community/usb-device/issues/128))

### Added
* New enums and allocators for Isochronous endpoints ([#60](https://github.com/rust-embedded-community/usb-device/pull/60)).
* Ability to select USB revision ([#116](https://github.com/rust-embedded-community/usb-device/pull/116)).
Expand Down
5 changes: 5 additions & 0 deletions src/control_pipe.rs
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,11 @@ impl<B: UsbBus> ControlPipe<'_, B> {
self.state = ControlState::Idle;
return true;
}
ControlState::Idle => {
// If we received a message on EP0 while sending the last portion of an IN
// transfer, we may have already transitioned to IDLE without getting the last
// IN-complete status. Just ignore this indication.
}
_ => {
// Unexpected IN packet
self.set_error();
Expand Down

0 comments on commit d6eaf93

Please sign in to comment.