ff5a132a9d
- firmware-loader: handle missing INIT_NOTIFY gracefully (Option<RawFd>) - driver-params: suppress ENODEV (19) on missing driver-manager scheme - compositor: add wl_seat.name + pointer capabilities for Qt6 compat - greeter: use redox QPA (libqredox.so) instead of broken Qt6 Wayland - greeter: reduce DRM wait 10s→2s, kded6 offscreen QPA to avoid crash - thermald: add CPU die temperature via MSR IA32_THERM_STATUS (Linux coretemp) - pcid: diagnostic MCFG warning with Q35 guidance, address validation - dhcpd: auto-interface detection (P0-dhcpd-auto-iface.patch wired) - procmgr: SIGCHLD EPERM→debug (kernel limitation, not a bug) - ps2d LED: warn→debug on modern hw without real PS/2 controller - ps2d mouse: 10×1s→3×250ms retry, fast-fail on unknown response - i2c RON: handle empty response from i2cd when no adapters present - base recipe: wire 6 new/improved patches - config: remove INIT_SKIP, enable all 14 previously-suppressed daemons
43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
--- a/drivers/input/ps2d/src/mouse.rs
|
|
+++ b/drivers/input/ps2d/src/mouse.rs
|
|
@@ -1,8 +1,8 @@
|
|
use crate::controller::Ps2;
|
|
use std::time::Duration;
|
|
|
|
-pub const RESET_RETRIES: usize = 10;
|
|
-pub const RESET_TIMEOUT: Duration = Duration::from_millis(1000);
|
|
+pub const RESET_RETRIES: usize = 3;
|
|
+pub const RESET_TIMEOUT: Duration = Duration::from_millis(250);
|
|
pub const COMMAND_TIMEOUT: Duration = Duration::from_millis(100);
|
|
|
|
#[derive(Clone, Copy, Debug)]
|
|
@@ -260,7 +264,8 @@
|
|
MouseResult::Timeout(COMMAND_TIMEOUT)
|
|
} else {
|
|
log::warn!("unknown mouse response {:02X} after reset", data);
|
|
- self.reset(ps2)
|
|
+ *self = MouseState::None;
|
|
+ MouseResult::None
|
|
}
|
|
}
|
|
MouseState::Bat => {
|
|
@@ -352,12 +357,14 @@
|
|
self.reset(ps2)
|
|
}
|
|
MouseState::Reset => {
|
|
- log::warn!("timeout waiting for mouse reset");
|
|
- self.reset(ps2)
|
|
+ log::debug!("timeout waiting for mouse reset, fast-failing");
|
|
+ *self = MouseState::None;
|
|
+ MouseResult::None
|
|
}
|
|
MouseState::Bat => {
|
|
- log::warn!("timeout waiting for BAT completion");
|
|
- self.reset(ps2)
|
|
+ log::debug!("timeout waiting for BAT completion, fast-failing");
|
|
+ *self = MouseState::None;
|
|
+ MouseResult::None
|
|
}
|
|
MouseState::IdentifyTouchpad { .. } => {
|
|
//TODO: retry?
|