Files
RedBear-OS/local/patches/base/P38-vesad-eventqueue-deadlock.patch
T
vasilito 40ba2caaf6 base: Add missing P35-P43 boot-hardening patches
Graceful init patches for fbcond, graphics scheme, smolnetd, vesad,
PCI interrupt allocation, BAR probing, common init, inputd fallback,
and dhcpd hard dependency ordering.
2026-05-20 13:57:47 +03:00

29 lines
1.2 KiB
Diff

diff --git a/drivers/graphics/vesad/src/main.rs b/drivers/graphics/vesad/src/main.rs
index acbcb3fa..6f55913b 100644
--- a/drivers/graphics/vesad/src/main.rs
+++ b/drivers/graphics/vesad/src/main.rs
@@ -137,9 +136,0 @@ fn daemon(daemon: daemon::Daemon) -> ! {
- let mut scheme = match GraphicsScheme::new(FbAdapter { framebuffers }, "display.vesa".to_owned(), true) {
- Ok(s) => s,
- Err(e) => {
- eprintln!("vesad: failed to create GraphicsScheme: {} — exiting", e);
- daemon.ready();
- std::process::exit(0);
- }
- };
-
@@ -152,0 +144,2 @@ fn daemon(daemon: daemon::Daemon) -> ! {
+ // EventQueue MUST be created before GraphicsScheme::new to avoid a deadlock with initnsmgr.
+ // See ihdgd fix (P0-driver-api-migration-fixes) for the same issue.
@@ -160,0 +154,10 @@ fn daemon(daemon: daemon::Daemon) -> ! {
+
+ let mut scheme = match GraphicsScheme::new(FbAdapter { framebuffers }, "display.vesa".to_owned(), true) {
+ Ok(s) => s,
+ Err(e) => {
+ eprintln!("vesad: failed to create GraphicsScheme: {} — exiting", e);
+ daemon.ready();
+ std::process::exit(0);
+ }
+ };
+