aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiam Murphy <[email protected]>2021-06-30 16:04:34 +1000
committerLiam Murphy <[email protected]>2021-06-30 16:04:34 +1000
commit99339e940e568c08329bce9e93a36fb79a21685d (patch)
tree5f18a373fac1a4eb6c8c77baac98ea6a434926a5
parent53b95588df2151c6805d0b543f6c7a6b0285dfda (diff)
fix: check if `new_ptr == end`, not the old pointer
-rw-r--r--embassy-nrf/src/rng.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/embassy-nrf/src/rng.rs b/embassy-nrf/src/rng.rs
index 80282c4b0..a444c9b3f 100644
--- a/embassy-nrf/src/rng.rs
+++ b/embassy-nrf/src/rng.rs
@@ -107,10 +107,10 @@ impl<'d> Rng<'d> {
107 .ptr 107 .ptr
108 .compare_exchange(ptr, new_ptr, Ordering::Relaxed, Ordering::Relaxed) 108 .compare_exchange(ptr, new_ptr, Ordering::Relaxed, Ordering::Relaxed)
109 { 109 {
110 Ok(ptr) => { 110 Ok(_) => {
111 let end = STATE.end.load(Ordering::Relaxed); 111 let end = STATE.end.load(Ordering::Relaxed);
112 // It doesn't matter if `end` was changed under our feet, because then this will just be false. 112 // It doesn't matter if `end` was changed under our feet, because then this will just be false.
113 if ptr == end { 113 if new_ptr == end {
114 STATE.waker.wake(); 114 STATE.waker.wake();
115 } 115 }
116 } 116 }