ref: 069d27ba1d95fa2cf08cf483f8e03cbff1bb59ae
parent: 76ed42e31ff3297f1ca9b144ccc9466b0074f92b
author: cinap_lenrek <[email protected]>
date: Sun Jan 10 15:44:58 EST 2021
pc, pc64: revert addition of pcireset() call to pcicfginit() Revert the change, as it causes system lockups on bootup on some systems with USB OHCI controllers, suspected to be caused by BIOS/SMM accessing the device as BIOS handover has not been executed yet. We might bring that back when the problem has is better understood.
--- a/sys/src/9/pc/pcipc.c
+++ b/sys/src/9/pc/pcipc.c
@@ -716,7 +716,15 @@
if(pciroot == nil)
goto out;
- pcireset();
+ /*
+ * Disabling devices here (by clearing bus master enable)
+ * causes problems with with some OHCI USB controllers.
+ * I supected that this is due to legacy device emulation
+ * and revoking bus master flag before executing the handoff
+ * makes BIOS/SMM lock up the system.
+ *
+ * pcireset();
+ */
if(nobios) {
uvlong mema;