diff --git a/embassy/demos/common/common.rs b/embassy/demos/common/server.rs
similarity index 95%
rename from embassy/demos/common/common.rs
rename to embassy/demos/common/server.rs
index a74f2128f6889bcc1a22c2646a4242739bd0794a..3b4628a4a00a679eaaa0563b4a6eb74e75679cf0 100644
--- a/embassy/demos/common/common.rs
+++ b/embassy/demos/common/server.rs
@@ -54,7 +54,7 @@ pub async fn listener<D: Device>(stack: &'static Stack<D>, config: &SSHConfig) -
 
         info!("Listening on TCP:22...");
         if let Err(e) = socket.accept(22).await {
-            warn!("accept error: {:?}", e);
+            warn!("accept error");
             continue;
         }
 
@@ -122,7 +122,7 @@ impl<'a> ServBehaviour for DemoServer<'a> {
 
 #[derive(Default)]
 struct DemoShell {
-    notify: Signal<CriticalSectionRawMutex, u32>,
+    notify: Signal<NoopRawMutex, u32>,
 }
 
 impl DemoShell {
@@ -156,19 +156,21 @@ impl DemoShell {
 
 async fn session(socket: &mut TcpSocket<'_>, config: &SSHConfig) -> sunset::Result<()> {
     let shell = DemoShell::default();
+
     let app = DemoServer::new(&shell, config)?;
+    let app = Mutex::<NoopRawMutex, _>::new(app);
+    let app = &app as &Mutex::<NoopRawMutex, dyn ServBehaviour>;
 
     let mut ssh_rxbuf = [0; 2000];
     let mut ssh_txbuf = [0; 2000];
     let serv = SSHServer::new(&mut ssh_rxbuf, &mut ssh_txbuf)?;
     let serv = &serv;
 
-    let app = Mutex::<NoopRawMutex, _>::new(app);
-
     let session = shell.run(serv);
 
-    let app = &app as &Mutex::<NoopRawMutex, dyn ServBehaviour>;
-    let run = serv.run(socket, app);
+    let (mut rsock, mut wsock) = socket.split();
+
+    let run = serv.run(&mut rsock, &mut wsock, app);
 
     join(run, session).await;
 
diff --git a/embassy/demos/picow/src/main.rs b/embassy/demos/picow/src/main.rs
index 8db7777f1c8161d271b1bbf7efd585b97387e5a1..331afe7175e34a6421caabba4a92a82578c3a719 100644
--- a/embassy/demos/picow/src/main.rs
+++ b/embassy/demos/picow/src/main.rs
@@ -18,7 +18,7 @@ use rand::RngCore;
 use sunset::*;
 
 mod wifi;
-#[path = "../../common/common.rs"]
+#[path = "../../common/server.rs"]
 mod demo_common;
 
 use demo_common::SSHConfig;
diff --git a/embassy/demos/std/src/main.rs b/embassy/demos/std/src/main.rs
index 5246a6b96dd25b85e9aaa45cd7df43d2fc94c374..7cfafcd5ac5129c86a01cd3078383183b270c488 100644
--- a/embassy/demos/std/src/main.rs
+++ b/embassy/demos/std/src/main.rs
@@ -15,7 +15,7 @@ use rand::RngCore;
 use crate::tuntap::TunTapDevice;
 
 mod tuntap;
-#[path = "../../common/common.rs"]
+#[path = "../../common/server.rs"]
 mod demo_common;
 
 use demo_common::SSHConfig;