From 069d27ba1d95fa2cf08cf483f8e03cbff1bb59ae Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 10 Jan 2021 20:44:58 +0100 Subject: 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. --- sys/src/9/pc/pcipc.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3