stm32/otg: clear NAK bit on endpoint enable.

This commit is contained in:
Dario Nieuwenhuis 2023-06-27 02:12:06 +02:00
parent 28fb492c40
commit a575e40a35

View File

@ -780,13 +780,14 @@ impl<'d, T: Instance> embassy_usb_driver::Bus for Bus<'d, T> {
// cancel transfer if active // cancel transfer if active
if !enabled && r.diepctl(ep_addr.index()).read().epena() { if !enabled && r.diepctl(ep_addr.index()).read().epena() {
r.diepctl(ep_addr.index()).modify(|w| { r.diepctl(ep_addr.index()).modify(|w| {
w.set_snak(true); w.set_snak(true); // set NAK
w.set_epdis(true); w.set_epdis(true);
}) })
} }
r.diepctl(ep_addr.index()).modify(|w| { r.diepctl(ep_addr.index()).modify(|w| {
w.set_usbaep(enabled); w.set_usbaep(enabled);
w.set_cnak(enabled); // clear NAK that might've been set by SNAK above.
}) })
}); });