shithub: riscv

Download patch

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);