Skip to content

Commit

Permalink
Add load-bearing delay (#1460)
Browse files Browse the repository at this point in the history
  • Loading branch information
mkeeter committed Jul 16, 2023
1 parent 5a6960e commit 973c8fa
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drv/stm32h7-eth/src/ring.rs
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,9 @@ impl RxRing {
fn set_descriptor(d: &RxDesc, buffer: *mut [u8; BUFSZ]) {
d.rdes[0].store(buffer as u32, Ordering::Relaxed);
d.rdes[1].store(0, Ordering::Relaxed);
d.rdes[2].store(0, Ordering::Relaxed);
d.rdes[2].store(0, Ordering::Release);
// See hubris#750 for why we need Ordering::Release and this delay
cortex_m::asm::delay(16);
let rdes3 =
1 << RDES3_OWN_BIT | 1 << RDES3_IOC_BIT | 1 << RDES3_BUF1_VALID_BIT;
d.rdes[3].store(rdes3, Ordering::Release); // <-- release
Expand Down

0 comments on commit 973c8fa

Please sign in to comment.