diff options
| author | alexmoon <[email protected]> | 2022-03-28 20:10:13 -0400 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2022-04-06 05:38:11 +0200 |
| commit | c53bb7394a20e180e2ac7e81cc468025018bd1da (patch) | |
| tree | 8457402aeda554b448391ccc6d6fd409c10390d1 /embassy-usb/src/lib.rs | |
| parent | a22639ad920fccfd909602f5c69147be911650eb (diff) | |
Switch to ControlHandler owned bufs for control_in()
Diffstat (limited to 'embassy-usb/src/lib.rs')
| -rw-r--r-- | embassy-usb/src/lib.rs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/embassy-usb/src/lib.rs b/embassy-usb/src/lib.rs index 9ac55db78..5a82f5cae 100644 --- a/embassy-usb/src/lib.rs +++ b/embassy-usb/src/lib.rs | |||
| @@ -284,13 +284,10 @@ impl<'d, D: Driver<'d>> UsbDevice<'d, D> { | |||
| 284 | .find(|(i, _)| req.index == *i as _) | 284 | .find(|(i, _)| req.index == *i as _) |
| 285 | .map(|(_, h)| h); | 285 | .map(|(_, h)| h); |
| 286 | match handler { | 286 | match handler { |
| 287 | Some(handler) => { | 287 | Some(handler) => match handler.control_in(req) { |
| 288 | let mut buf = [0; 128]; | 288 | InResponse::Accepted(data) => self.control.accept_in(data).await, |
| 289 | match handler.control_in(req, &mut buf) { | 289 | InResponse::Rejected => self.control.reject(), |
| 290 | InResponse::Accepted(len) => self.control.accept_in(&buf[..len]).await, | 290 | }, |
| 291 | InResponse::Rejected => self.control.reject(), | ||
| 292 | } | ||
| 293 | } | ||
| 294 | None => self.control.reject(), | 291 | None => self.control.reject(), |
| 295 | } | 292 | } |
| 296 | } | 293 | } |
