diff options
| author | Liam Murphy <[email protected]> | 2021-06-30 16:04:34 +1000 |
|---|---|---|
| committer | Liam Murphy <[email protected]> | 2021-06-30 16:04:34 +1000 |
| commit | 99339e940e568c08329bce9e93a36fb79a21685d (patch) | |
| tree | 5f18a373fac1a4eb6c8c77baac98ea6a434926a5 | |
| parent | 53b95588df2151c6805d0b543f6c7a6b0285dfda (diff) | |
fix: check if `new_ptr == end`, not the old pointer
| -rw-r--r-- | embassy-nrf/src/rng.rs | 4 |
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 | } |
