code: plan9front

Download patch

ref: 069d27ba1d95fa2cf08cf483f8e03cbff1bb59ae
parent: 76ed42e31ff3297f1ca9b144ccc9466b0074f92b
author: cinap_lenrek <cinap_lenrek@felloff.net>
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;