ref: 9caf93faa8f37f6c744a609f55ca6e211359c806
parent: 02acb1d4f00648b3ececd8fee2dc065f868e432e
author: cinap_lenrek <[email protected]>
date: Wed Aug 1 18:56:58 EDT 2012
vesa: timeout blank/unblank operation if it gets stuck
--- a/sys/src/9/pc/vgavesa.c
+++ b/sys/src/9/pc/vgavesa.c
@@ -180,10 +180,19 @@
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);