Skip to content

Commit 6e8743e

Browse files
committed
usb: fix enumeration issues by propagating buffer overflow error.
1 parent 4f09ec3 commit 6e8743e

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

hal/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Unreleased Changes
22

3+
- Fix USB enumeration issues with fast host controllers
34
- Allow configuring USB clock with `GenericClockController` on atsamd11
45

56
# v0.17.0

hal/src/peripherals/usb/d11/bus.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -898,7 +898,7 @@ impl Inner {
898898
let rxstp = bank.received_setup_interrupt();
899899

900900
if bank.is_ready() || rxstp {
901-
let size = bank.read(buf);
901+
let size = bank.read(buf)?;
902902

903903
if rxstp {
904904
bank.clear_received_setup_interrupt();
@@ -907,7 +907,7 @@ impl Inner {
907907
bank.clear_transfer_complete();
908908
bank.set_ready(false);
909909

910-
size
910+
Ok(size)
911911
} else {
912912
Err(UsbError::WouldBlock)
913913
}

hal/src/peripherals/usb/d5x/bus.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ impl Inner {
841841
let rxstp = bank.received_setup_interrupt();
842842

843843
if bank.is_ready() || rxstp {
844-
let size = bank.read(buf);
844+
let size = bank.read(buf)?;
845845

846846
if rxstp {
847847
bank.clear_received_setup_interrupt();
@@ -850,7 +850,7 @@ impl Inner {
850850
bank.clear_transfer_complete();
851851
bank.set_ready(false);
852852

853-
size
853+
Ok(size)
854854
} else {
855855
Err(UsbError::WouldBlock)
856856
}

0 commit comments

Comments
 (0)