On Friday 10 August 2007, Alan Stern wrote: > > When the OLPC comes up from suspend, a small bit of Open Firmware code > > gets run, this writes 1 to HcCommandStatus, resetting the OHCI chip into > > Suspend mode, then writes into HcRhDescriptorB and HcRhPortStatus*, > > bringing up the power to the USB ports. > > > > After that the OS gets started, so by the time the Linux OHCI code sees > > things, we're already in suspend mode and the power to the ports is on, > > but otherwise we're fresh from chip power on. > > > > However since the chip isn't actually in reset, ohci_rh_resume doesn't > > jump through the right hoops. > > This is a problem.
Yes. > The code in ohci-hcd isn't very sophisticated about > checking for interference from the firmware. Maybe because there are > so many different implementations of OHCI floating around, it's hard > to know what approach will work on all of them. And maybe because > there aren't many settings which can be checked. On the contrary ... it's relatively sophisticated, precisely since there ARE so many different hardware variations. The problem is that OF is creating a new beastie here ... something which is neither a true suspend (as seen with ACPI, APM, and various embedded Linuxes) *nor* a true poweroff. Either one alone should be OK. But this thing *isn't* OK. > > Changing what OFW does on resume is possible, if it's flatly not doing > > what it should. But a driver fix would be preferred in some ways. > > > > Any thoughts? > > I'd say OFW is flatly not doing what it should. In fact, from your > description it goes out of its way to fool Linux into thinking the > controller was powered on the whole time when in fact it wasn't. > Because the power was off the controller has just gone through a > hardware reset; there's absolutely no need to pile a software reset on > top of that. Right, and I saw Mitch's "why it's doing that" comment. I'll followup there. - Dave ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel