On Wed, 8 Feb 2006, Carlo E. Prelz wrote: > ?? > > That's what I did. I disabled the if body (surrounded it by #if 0) and > re-enabled the line that caused the freeze. The result is (apart from > the flurry of printouts that I added) exactly equal to the original > 2.6.16rc2 code, apart from this if body, which is commented out: > > if ((cap & EHCI_USBLEGSUP_BIOS)) { > pr_debug("%s %s: BIOS handoff\n", > pdev->dev.bus_id, "EHCI"); > > /* BIOS workaround (?): be sure the > * pre-Linux code receives the SMI > */ > pci_read_config_dword(pdev, > offset + EHCI_USBLEGCTLSTS, > &val); > pci_write_config_dword(pdev, > offset + EHCI_USBLEGCTLSTS, > val | EHCI_USBLEGCTLSTS_SOOE); > } > > This is what I had understood. In this case, the machine does not > freeze anymore, but the EHCI_USBLEGSUP_BIOS bit is not turned off in > the following 5-second wait loop (USB goes on working OK) > > If you meant something different, let me know.
My message from yesterday doesn't seem to have gotten into the email archives, so I'm resending it. My guess is that the BIOS doesn't expect to receive an ownership-change SMI notification, and when one arrives it crashes the BIOS. That's why the SOOE bit wasn't set. Maybe the BIOS polls for ownership changes, maybe it ignores them completely. At any rate, it's probably best to assume (in the absence of more specific knowledge about a particular BIOS) that if SOOE isn't set it's because the BIOS doesn't want it to be set. So that code you removed should run only when we know a specific quirk requires it. Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel