Skip to content

Commit d6eaf93

Browse files
authored
Merge pull request #129 from rust-embedded-community/rs/issue-128/usb-control-transfers
Fixing an issue with windows device enumeration
2 parents 3a2f78e + ac0345a commit d6eaf93

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10+
### Fixed
11+
* Fixed a defect where enumeration may fail due to timing-related issues ([#128](https://github.com/rust-embedded-community/usb-device/issues/128))
12+
1013
### Added
1114
* New enums and allocators for Isochronous endpoints ([#60](https://github.com/rust-embedded-community/usb-device/pull/60)).
1215
* Ability to select USB revision ([#116](https://github.com/rust-embedded-community/usb-device/pull/116)).

src/control_pipe.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,11 @@ impl<B: UsbBus> ControlPipe<'_, B> {
191191
self.state = ControlState::Idle;
192192
return true;
193193
}
194+
ControlState::Idle => {
195+
// If we received a message on EP0 while sending the last portion of an IN
196+
// transfer, we may have already transitioned to IDLE without getting the last
197+
// IN-complete status. Just ignore this indication.
198+
}
194199
_ => {
195200
// Unexpected IN packet
196201
self.set_error();

0 commit comments

Comments
 (0)