From aedeb00e5859c940434184254d06b2d32fd66cb0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 2 May 2022 13:37:16 -0600 Subject: [PATCH] ps2d: Fix issue with VirtualBox controller init --- ps2d/src/controller.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/ps2d/src/controller.rs b/ps2d/src/controller.rs index de4e6180bc..b6bd05cf28 100644 --- a/ps2d/src/controller.rs +++ b/ps2d/src/controller.rs @@ -418,13 +418,11 @@ impl Ps2 { // Disable clocks, disable interrupts, and disable translate { - let mut config = self.config()?; - eprintln!("ps2d: config get {:?}", config); - config.insert(ConfigFlags::FIRST_DISABLED); - config.insert(ConfigFlags::SECOND_DISABLED); - config.remove(ConfigFlags::FIRST_TRANSLATE); - config.remove(ConfigFlags::FIRST_INTERRUPT); - config.remove(ConfigFlags::SECOND_INTERRUPT); + // Since the default config may have interrupts enabled, and the kernel may eat up + // our data in that case, we will write a config without reading the current one + let mut config = ConfigFlags::POST_PASSED | + ConfigFlags::FIRST_DISABLED | + ConfigFlags::SECOND_DISABLED; eprintln!("ps2d: config set {:?}", config); self.set_config(config)?;