diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ec4c054dda39..8364683ec2a6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -434,10 +434,11 @@ jobs:
           tool: cargo-binutils
 
       # Use precompiled if possible
-      - name: Install cargo-binutils
-        uses: taiki-e/install-action@v2
-        with:
-          tool: espflash
+      - name: Install espflash
+        run: cargo install espflash --version 3.1.0 --force
+        # uses: taiki-e/install-action@v2
+        # with:
+        #   tool: espflash
 
       - name: Install esptool.py
         run: pip install esptool
diff --git a/examples/lm3s6965/Cargo.lock b/examples/lm3s6965/Cargo.lock
index c007019fa22b..c599ef8a1d89 100644
--- a/examples/lm3s6965/Cargo.lock
+++ b/examples/lm3s6965/Cargo.lock
@@ -386,7 +386,7 @@ dependencies = [
 
 [[package]]
 name = "rtic-monotonics"
-version = "2.0.1"
+version = "2.0.2"
 dependencies = [
  "cfg-if",
  "cortex-m",
diff --git a/examples/lm3s6965/examples/t-cfg-resources.rs b/examples/lm3s6965/examples/t-cfg-resources.rs
index 2ddfae738f78..d042558c4c8b 100644
--- a/examples/lm3s6965/examples/t-cfg-resources.rs
+++ b/examples/lm3s6965/examples/t-cfg-resources.rs
@@ -5,6 +5,7 @@
 #![deny(warnings)]
 #![deny(unsafe_code)]
 #![deny(missing_docs)]
+#![allow(unexpected_cfgs)]
 
 use panic_semihosting as _;
 
diff --git a/rtic-monotonics/build.rs b/rtic-monotonics/build.rs
index 21ccce9f51a7..12d236ef70e8 100644
--- a/rtic-monotonics/build.rs
+++ b/rtic-monotonics/build.rs
@@ -2,6 +2,7 @@ fn main() {
     #[cfg(feature = "stm32-metapac")]
     stm32();
 
+    println!("cargo::rustc-check-cfg=cfg(stm32)");
     println!("cargo:rerun-if-changed=build.rs");
 }
 
diff --git a/rtic-sync/src/channel.rs b/rtic-sync/src/channel.rs
index b49ed2f43314..0857f724f2b0 100644
--- a/rtic-sync/src/channel.rs
+++ b/rtic-sync/src/channel.rs
@@ -62,15 +62,13 @@ impl<T, const N: usize> Default for Channel<T, N> {
 impl<T, const N: usize> Channel<T, N> {
     const _CHECK: () = assert!(N < 256, "This queue support a maximum of 255 entries");
 
-    const INIT_SLOTS: UnsafeCell<MaybeUninit<T>> = UnsafeCell::new(MaybeUninit::uninit());
-
     /// Create a new channel.
     pub const fn new() -> Self {
         Self {
             freeq: UnsafeCell::new(Deque::new()),
             readyq: UnsafeCell::new(Deque::new()),
             receiver_waker: WakerRegistration::new(),
-            slots: [Self::INIT_SLOTS; N],
+            slots: [const { UnsafeCell::new(MaybeUninit::uninit()) }; N],
             wait_queue: WaitQueue::new(),
             receiver_dropped: UnsafeCell::new(false),
             num_senders: UnsafeCell::new(0),
diff --git a/rtic/src/export/cortex_source_mask.rs b/rtic/src/export/cortex_source_mask.rs
index a2ebe8c7e89f..6146b4c6a125 100644
--- a/rtic/src/export/cortex_source_mask.rs
+++ b/rtic/src/export/cortex_source_mask.rs
@@ -102,7 +102,7 @@ where
 ///     - we execute the closure in a global critical section (interrupt free)
 ///     - CS entry cost, single write to core register
 ///     - CS exit cost, single write to core register
-///   else
+///   - else
 ///     - The `mask` value is folded to a constant at compile time
 ///     - CS entry, single write of the 32 bit `mask` to the `icer` register
 ///     - CS exit, single write of the 32 bit `mask` to the `iser` register
diff --git a/rtic/src/lib.rs b/rtic/src/lib.rs
index 5b0971fd7bec..1fd0d43a4e7a 100644
--- a/rtic/src/lib.rs
+++ b/rtic/src/lib.rs
@@ -31,6 +31,7 @@
     html_favicon_url = "https://raw.githubusercontent.com/rtic-rs/rtic/master/book/en/src/RTIC.svg"
 )]
 #![allow(clippy::inline_always)]
+#![allow(unexpected_cfgs)]
 
 pub use rtic_core::{prelude as mutex_prelude, Exclusive, Mutex};
 pub use rtic_macros::app;