]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Ps2KbdCtrller: Make wait for SUCCESS after BAT non-fatal
authorMatt DeVillier <matt.devillier@gmail.com>
Wed, 26 May 2021 22:33:29 +0000 (17:33 -0500)
committerRay Ni <ray.ni@intel.com>
Tue, 25 Oct 2022 07:58:27 +0000 (15:58 +0800)
Recent model Chromebooks only return ACK, but not
BAT_SUCCESS, which causes hanging and failed ps2k init.
To mitigate this, make the absence of BAT_SUCCESS reply
non-fatal, and reduce the no-reply timeout from 4s to 1s.

Tested on google/dracia and purism/librem_14

Acked-by: Hao A Wu <hao.a.wu@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KbdCtrller.c

index 77dc226222f410591005f2ba35c0e3f103eab8cd..981309f8b02be4a1f9bc34278f33ff5a4224ec25 100644 (file)
@@ -1731,13 +1731,7 @@ InitKeyboard (
     //\r
     // wait for BAT completion code\r
     //\r
     //\r
     // wait for BAT completion code\r
     //\r
-    mWaitForValueTimeOut = KEYBOARD_BAT_TIMEOUT;\r
-\r
-    Status = KeyboardWaitForValue (ConsoleIn, KEYBOARD_8048_RETURN_8042_BAT_SUCCESS);\r
-    if (EFI_ERROR (Status)) {\r
-      KeyboardError (ConsoleIn, L"Keyboard self test failed!\n\r");\r
-      goto Done;\r
-    }\r
+    KeyboardWaitForValue (ConsoleIn, KEYBOARD_8048_RETURN_8042_BAT_SUCCESS);\r
 \r
     mWaitForValueTimeOut = KEYBOARD_WAITFORVALUE_TIMEOUT;\r
 \r
 \r
     mWaitForValueTimeOut = KEYBOARD_WAITFORVALUE_TIMEOUT;\r
 \r