ce0ac10b6d
Kirigami: remove stub .cpp, add Qt platform integration headers for QML gate. Matches KDE src/pattern for direct header-only builds. Cookbook: add --no-backup-if-mismatch to patch invocation (fetch.rs). Kernel: consolidate patch chain, add debug-scheme-serial-fix. Docs: archive old audit reports, add CHANGELOG and hardware validation matrix. Update AGENTS.md with Linux reference source policy. Scripts: add test-network-qemu.sh, test-storage-qemu.sh. .gitignore: add local/reference/ exclusion.
90 lines
4.0 KiB
Diff
90 lines
4.0 KiB
Diff
diff --git a/drivers/audio/ihdad/src/main.rs b/drivers/audio/ihdad/src/main.rs
|
|
index 31a2add7..a75a0a35 100755
|
|
--- a/drivers/audio/ihdad/src/main.rs
|
|
+++ b/drivers/audio/ihdad/src/main.rs
|
|
@@ -57,7 +57,15 @@ fn daemon(daemon: daemon::Daemon, mut pcid_handle: PciFunctionHandle) -> ! {
|
|
EventQueue::<Source>::new().expect("ihdad: Could not create event queue.");
|
|
let socket = Socket::nonblock().expect("ihdad: failed to create socket");
|
|
let mut device = unsafe {
|
|
- hda::IntelHDA::new(address, vend_prod).expect("ihdad: failed to allocate device")
|
|
+ match hda::IntelHDA::new(address, vend_prod) {
|
|
+ Ok(dev) => dev,
|
|
+ Err(e) => {
|
|
+ log::error!("ihdad: failed to initialize HDA device (err {}), exiting gracefully", e);
|
|
+ log::info!("ihdad: this is expected in virtual environments without functional HDA hardware");
|
|
+ daemon.ready();
|
|
+ return loop {};
|
|
+ }
|
|
+ }
|
|
};
|
|
let mut readiness_based = ReadinessBased::new(&socket, 16);
|
|
|
|
diff --git a/drivers/net/e1000d/src/main.rs b/drivers/net/e1000d/src/main.rs
|
|
index 373ea9b3..2e4cf579 100644
|
|
--- a/drivers/net/e1000d/src/main.rs
|
|
+++ b/drivers/net/e1000d/src/main.rs
|
|
@@ -70,15 +70,15 @@ fn daemon(daemon: daemon::Daemon, mut pcid_handle: PciFunctionHandle) -> ! {
|
|
|
|
libredox::call::setrens(0, 0).expect("e1000d: failed to enter null namespace");
|
|
|
|
- scheme.tick().unwrap();
|
|
+ scheme.tick().expect("e1000d: initial scheme tick failed");
|
|
|
|
for event in event_queue.map(|e| e.expect("e1000d: failed to get event")) {
|
|
match event.user_data {
|
|
Source::Irq => {
|
|
let mut irq = [0; 8];
|
|
- irq_file.read(&mut irq).unwrap();
|
|
+ irq_file.read(&mut irq).expect("e1000d: failed to read IRQ from kernel");
|
|
if unsafe { scheme.adapter().irq() } {
|
|
- irq_file.write(&mut irq).unwrap();
|
|
+ irq_file.write(&mut irq).expect("e1000d: failed to acknowledge IRQ");
|
|
|
|
scheme.tick().expect("e1000d: failed to handle IRQ")
|
|
}
|
|
diff --git a/drivers/net/rtl8168d/src/main.rs b/drivers/net/rtl8168d/src/main.rs
|
|
index 1d9963a3..08efda6c 100644
|
|
--- a/drivers/net/rtl8168d/src/main.rs
|
|
+++ b/drivers/net/rtl8168d/src/main.rs
|
|
@@ -81,33 +81,33 @@ fn daemon(daemon: daemon::Daemon, mut pcid_handle: PciFunctionHandle) -> ! {
|
|
Source::Irq,
|
|
event::EventFlags::READ,
|
|
)
|
|
- .unwrap();
|
|
+ .expect("rtl8168d: failed to subscribe to scheme event");
|
|
event_queue
|
|
.subscribe(
|
|
scheme.event_handle().raw(),
|
|
Source::Scheme,
|
|
event::EventFlags::READ,
|
|
)
|
|
- .unwrap();
|
|
+ .expect("rtl8168d: failed to subscribe to scheme event");
|
|
|
|
libredox::call::setrens(0, 0).expect("rtl8168d: failed to enter null namespace");
|
|
|
|
- scheme.tick().unwrap();
|
|
+ scheme.tick().expect("rtl8168d: scheme tick failed");
|
|
|
|
for event in event_queue.map(|e| e.expect("rtl8168d: failed to get next event")) {
|
|
match event.user_data {
|
|
Source::Irq => {
|
|
let mut irq = [0; 8];
|
|
- irq_file.irq_handle().read(&mut irq).unwrap();
|
|
+ irq_file.irq_handle().read(&mut irq).expect("rtl8168d: failed to read IRQ");
|
|
//TODO: This may be causing spurious interrupts
|
|
if unsafe { scheme.adapter_mut().irq() } {
|
|
- irq_file.irq_handle().write(&mut irq).unwrap();
|
|
+ irq_file.irq_handle().write(&mut irq).expect("rtl8168d: failed to acknowledge IRQ");
|
|
|
|
- scheme.tick().unwrap();
|
|
+ scheme.tick().expect("rtl8168d: scheme tick failed");
|
|
}
|
|
}
|
|
Source::Scheme => {
|
|
- scheme.tick().unwrap();
|
|
+ scheme.tick().expect("rtl8168d: scheme tick failed");
|
|
}
|
|
}
|
|
}
|