Ps2KbdCtrller: Make wait for SUCCESS after BAT non-fatal
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 Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ib644f6797eb50eb3bb75235ac48ddb6096a7bd6d
This commit is contained in:
committed by
Tim Crawford
parent
792844cb3b
commit
0f49a3fc87
@ -1733,11 +1733,7 @@ InitKeyboard (
|
|||||||
//
|
//
|
||||||
mWaitForValueTimeOut = KEYBOARD_BAT_TIMEOUT;
|
mWaitForValueTimeOut = KEYBOARD_BAT_TIMEOUT;
|
||||||
|
|
||||||
Status = KeyboardWaitForValue (ConsoleIn, KEYBOARD_8048_RETURN_8042_BAT_SUCCESS);
|
KeyboardWaitForValue (ConsoleIn, KEYBOARD_8048_RETURN_8042_BAT_SUCCESS);
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
KeyboardError (ConsoleIn, L"Keyboard self test failed!\n\r");
|
|
||||||
goto Done;
|
|
||||||
}
|
|
||||||
|
|
||||||
mWaitForValueTimeOut = KEYBOARD_WAITFORVALUE_TIMEOUT;
|
mWaitForValueTimeOut = KEYBOARD_WAITFORVALUE_TIMEOUT;
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ InstallPs2KeyboardDriver (
|
|||||||
#define KEYBOARD_MAX_TRY 256 // 256
|
#define KEYBOARD_MAX_TRY 256 // 256
|
||||||
#define KEYBOARD_TIMEOUT 65536 // 0.07s
|
#define KEYBOARD_TIMEOUT 65536 // 0.07s
|
||||||
#define KEYBOARD_WAITFORVALUE_TIMEOUT 1000000 // 1s
|
#define KEYBOARD_WAITFORVALUE_TIMEOUT 1000000 // 1s
|
||||||
#define KEYBOARD_BAT_TIMEOUT 4000000 // 4s
|
#define KEYBOARD_BAT_TIMEOUT 1000000 // 1s
|
||||||
#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
|
#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
|
||||||
#define SCANCODE_EXTENDED0 0xE0
|
#define SCANCODE_EXTENDED0 0xE0
|
||||||
#define SCANCODE_EXTENDED1 0xE1
|
#define SCANCODE_EXTENDED1 0xE1
|
||||||
|
Reference in New Issue
Block a user