From e405b11d43409042c77b61470d2b15efe45efc74 Mon Sep 17 00:00:00 2001 From: Ibuki Omatsu Date: Wed, 24 Dec 2025 13:33:59 +0000 Subject: [PATCH] fix: Write responses after polling requests in audio and net drivers. --- drivers/audio/ac97d/src/main.rs | 6 ++++++ drivers/audio/ihdad/src/main.rs | 6 ++++++ drivers/audio/sb16d/src/main.rs | 6 ++++++ drivers/net/alxd/src/main.rs | 8 +++++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/audio/ac97d/src/main.rs b/drivers/audio/ac97d/src/main.rs index d3c6c87fab..02c33ffa6b 100644 --- a/drivers/audio/ac97d/src/main.rs +++ b/drivers/audio/ac97d/src/main.rs @@ -102,6 +102,12 @@ fn daemon(daemon: daemon::Daemon, pcid_handle: PciFunctionHandle) -> ! { readiness_based .poll_all_requests(|| device.borrow_mut()) .expect("ac97d: failed to poll requests"); + if !readiness_based + .write_responses() + .expect("ac97d: failed to write to socket") + { + break; + } /* let next_read = device_irq.next_read(); diff --git a/drivers/audio/ihdad/src/main.rs b/drivers/audio/ihdad/src/main.rs index 7331a59197..dce556328f 100755 --- a/drivers/audio/ihdad/src/main.rs +++ b/drivers/audio/ihdad/src/main.rs @@ -104,6 +104,12 @@ fn daemon(daemon: daemon::Daemon, mut pcid_handle: PciFunctionHandle) -> ! { readiness_based .poll_all_requests(|| device.borrow_mut()) .expect("ihdad: failed to poll requests"); + if !readiness_based + .write_responses() + .expect("ihdad: failed to write to socket") + { + break; + } /* let next_read = device_irq.next_read(); diff --git a/drivers/audio/sb16d/src/main.rs b/drivers/audio/sb16d/src/main.rs index 4636293823..570b9c3a02 100644 --- a/drivers/audio/sb16d/src/main.rs +++ b/drivers/audio/sb16d/src/main.rs @@ -87,6 +87,12 @@ fn daemon(daemon: daemon::Daemon) -> ! { readiness_based .poll_all_requests(|| device.borrow_mut()) .expect("sb16d: failed to poll requests"); + if !readiness_based + .write_responses() + .expect("sb16d: failed to write to socket") + { + break; + } /* let next_read = device_irq.next_read(); diff --git a/drivers/net/alxd/src/main.rs b/drivers/net/alxd/src/main.rs index 6c63136eff..3d9d266599 100644 --- a/drivers/net/alxd/src/main.rs +++ b/drivers/net/alxd/src/main.rs @@ -97,7 +97,13 @@ fn daemon(daemon: daemon::Daemon) -> ! { readiness_based .poll_all_requests(|| device.borrow_mut()) - .expect("ihdad: failed to poll requests"); + .expect("alxd: failed to poll requests"); + if !readiness_based + .write_responses() + .expect("alxd: failed to write to socket") + { + break; + } /* TODO: Currently a no-op let next_read = device.next_read();