From 9caf93faa8f37f6c744a609f55ca6e211359c806 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 1 Aug 2012 22:56:58 +0200 Subject: vesa: timeout blank/unblank operation if it gets stuck --- sys/src/9/pc/vgavesa.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/src/9/pc/vgavesa.c b/sys/src/9/pc/vgavesa.c index 98cd84dde..ea1f26ad3 100644 --- a/sys/src/9/pc/vgavesa.c +++ b/sys/src/9/pc/vgavesa.c @@ -180,10 +180,19 @@ vesaproc(void*) u.bx = 0x0101; else u.bx = 0x0001; + + /* + * dont wait forever here. some BIOS get stuck + * in i/o poll loop after blank/unblank for some + * reason. (Thinkpad A22p) + */ + procalarm(10000); vbecall(&u); poperror(); } + procalarm(0); + up->notepending = 0; } cclose(cmem); cclose(creg); -- cgit v1.2.3