diff options
| author | Raul Alimbekov <[email protected]> | 2025-12-16 09:05:22 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-16 09:05:22 +0300 |
| commit | c9a04b4b732b7a3b696eb8223664c1a7942b1875 (patch) | |
| tree | 6dbe5c02e66eed8d8762f13f95afd24f8db2b38c /embassy-rp/src/usb.rs | |
| parent | cde24a3ef1117653ba5ed4184102b33f745782fb (diff) | |
| parent | 5ae6e060ec1c90561719aabdc29d5b6e7b8b0a82 (diff) | |
Merge branch 'main' into main
Diffstat (limited to 'embassy-rp/src/usb.rs')
| -rw-r--r-- | embassy-rp/src/usb.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/embassy-rp/src/usb.rs b/embassy-rp/src/usb.rs index 671ecbd32..e8273c3f2 100644 --- a/embassy-rp/src/usb.rs +++ b/embassy-rp/src/usb.rs | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | use core::future::poll_fn; | 2 | use core::future::poll_fn; |
| 3 | use core::marker::PhantomData; | 3 | use core::marker::PhantomData; |
| 4 | use core::slice; | 4 | use core::slice; |
| 5 | use core::sync::atomic::{compiler_fence, Ordering}; | 5 | use core::sync::atomic::{Ordering, compiler_fence}; |
| 6 | use core::task::Poll; | 6 | use core::task::Poll; |
| 7 | 7 | ||
| 8 | use embassy_hal_internal::PeripheralType; | 8 | use embassy_hal_internal::PeripheralType; |
| @@ -13,7 +13,7 @@ use embassy_usb_driver::{ | |||
| 13 | }; | 13 | }; |
| 14 | 14 | ||
| 15 | use crate::interrupt::typelevel::{Binding, Interrupt}; | 15 | use crate::interrupt::typelevel::{Binding, Interrupt}; |
| 16 | use crate::{interrupt, pac, peripherals, Peri, RegExt}; | 16 | use crate::{Peri, RegExt, interrupt, pac, peripherals}; |
| 17 | 17 | ||
| 18 | trait SealedInstance { | 18 | trait SealedInstance { |
| 19 | fn regs() -> crate::pac::usb::Usb; | 19 | fn regs() -> crate::pac::usb::Usb; |
| @@ -545,11 +545,7 @@ impl<'d, T: Instance> driver::Endpoint for Endpoint<'d, T, In> { | |||
| 545 | poll_fn(|cx| { | 545 | poll_fn(|cx| { |
| 546 | EP_IN_WAKERS[index].register(cx.waker()); | 546 | EP_IN_WAKERS[index].register(cx.waker()); |
| 547 | let val = T::dpram().ep_in_control(self.info.addr.index() - 1).read(); | 547 | let val = T::dpram().ep_in_control(self.info.addr.index() - 1).read(); |
| 548 | if val.enable() { | 548 | if val.enable() { Poll::Ready(()) } else { Poll::Pending } |
| 549 | Poll::Ready(()) | ||
| 550 | } else { | ||
| 551 | Poll::Pending | ||
| 552 | } | ||
| 553 | }) | 549 | }) |
| 554 | .await; | 550 | .await; |
| 555 | trace!("wait_enabled IN OK"); | 551 | trace!("wait_enabled IN OK"); |
| @@ -567,11 +563,7 @@ impl<'d, T: Instance> driver::Endpoint for Endpoint<'d, T, Out> { | |||
| 567 | poll_fn(|cx| { | 563 | poll_fn(|cx| { |
| 568 | EP_OUT_WAKERS[index].register(cx.waker()); | 564 | EP_OUT_WAKERS[index].register(cx.waker()); |
| 569 | let val = T::dpram().ep_out_control(self.info.addr.index() - 1).read(); | 565 | let val = T::dpram().ep_out_control(self.info.addr.index() - 1).read(); |
| 570 | if val.enable() { | 566 | if val.enable() { Poll::Ready(()) } else { Poll::Pending } |
| 571 | Poll::Ready(()) | ||
| 572 | } else { | ||
| 573 | Poll::Pending | ||
| 574 | } | ||
| 575 | }) | 567 | }) |
| 576 | .await; | 568 | .await; |
| 577 | trace!("wait_enabled OUT OK"); | 569 | trace!("wait_enabled OUT OK"); |
