From f3008597aa7abab6226a5fd47e0ffa233bbd0226 Mon Sep 17 00:00:00 2001
From: Dion Dokter <diondokter@gmail.com>
Date: Mon, 20 May 2024 15:49:11 +0200
Subject: [PATCH] Fix cyw43

---
 cyw43/src/runner.rs | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/cyw43/src/runner.rs b/cyw43/src/runner.rs
index c72cf0def..e90316302 100644
--- a/cyw43/src/runner.rs
+++ b/cyw43/src/runner.rs
@@ -1,6 +1,5 @@
 use embassy_futures::select::{select3, Either3};
 use embassy_net_driver_channel as ch;
-use embassy_sync::pubsub::PubSubBehavior;
 use embassy_time::{block_for, Duration, Timer};
 use embedded_hal_1::digital::OutputPin;
 
@@ -438,13 +437,16 @@ where
                     // publish() is a deadlock risk in the current design as awaiting here prevents ioctls
                     // The `Runner` always yields when accessing the device, so consumers always have a chance to receive the event
                     // (if they are actively awaiting the queue)
-                    self.events.queue.publish_immediate(events::Message::new(
-                        Status {
-                            event_type: evt_type,
-                            status,
-                        },
-                        event_payload,
-                    ));
+                    self.events
+                        .queue
+                        .immediate_publisher()
+                        .publish_immediate(events::Message::new(
+                            Status {
+                                event_type: evt_type,
+                                status,
+                            },
+                            event_payload,
+                        ));
                 }
             }
             CHANNEL_TYPE_DATA => {