summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2021-01-10 20:44:58 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2021-01-10 20:44:58 +0100
commit069d27ba1d95fa2cf08cf483f8e03cbff1bb59ae (patch)
treea9d556c6d214c1a330f6c24f4c46fe9a814de1ba
parent76ed42e31ff3297f1ca9b144ccc9466b0074f92b (diff)
downloadplan9front-069d27ba1d95fa2cf08cf483f8e03cbff1bb59ae.tar.xz
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.
-rw-r--r--sys/src/9/pc/pcipc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/src/9/pc/pcipc.c b/sys/src/9/pc/pcipc.c
index 412862b32..3355e7b0c 100644
--- a/sys/src/9/pc/pcipc.c
+++ b/sys/src/9/pc/pcipc.c
@@ -716,7 +716,15 @@ pcicfginit(void)
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;