vesa: timeout blank/unblank operation if it gets stuck
This commit is contained in:
parent
02acb1d4f0
commit
9caf93faa8
|
@ -180,10 +180,19 @@ vesaproc(void*)
|
||||||
u.bx = 0x0101;
|
u.bx = 0x0101;
|
||||||
else
|
else
|
||||||
u.bx = 0x0001;
|
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);
|
vbecall(&u);
|
||||||
|
|
||||||
poperror();
|
poperror();
|
||||||
}
|
}
|
||||||
|
procalarm(0);
|
||||||
|
up->notepending = 0;
|
||||||
}
|
}
|
||||||
cclose(cmem);
|
cclose(cmem);
|
||||||
cclose(creg);
|
cclose(creg);
|
||||||
|
|
Loading…
Reference in a new issue