Hi Alan, 2005/12/15, Alan Stern <[EMAIL PROTECTED]>: > > No, the bus should already be suspended. In fact, you should fail the > driver-suspend request if the bus isn't already suspended.
hmm I think so but I don't see this behaviour in isp116 or sl811 hcds. The former do actually nothing, even if the bus is not suspended, the later does a bus_suspend which does nothing. Actually it's hard from that point to do something usefull since to suspend the bus we need to suspend all devices connected on it. > Likewise, you > should fail a bus-resume request if the driver is suspended. > How could it happen ?? > No, you're confused. The root hub _does_ need to support that request, > because that's how you suspend a device plugged into the root hub. To > "suspend" the root hub itself, you would need to send this request to the > root hub's "parent" -- which doesn't exist. > > On the other hand, the root hub _is_ allowed to ignore the > DEVICE_REMOTE_WAKEUP feature. It never gets sent to the root hub; instead > remote wakeup is assumed to be enabled and can be disabled through sysfs. > OK, I think I get the main idea of suspend/resume process for usb. But now, I don't see the purpose of hcd->bus_suspend method. What is it supposed to do since all of its children must be suspended (meaning that the bus is already suspended) before executing this method ? I guess I don't see the purpose since I have a host controller with only one port, no root hub. BTW, I notice a regression. I can not use anymore my usb stick with an embedded hub, I got the following error message: """ usb 1-1: new full speed USB device using vusb-hcd and address 5 usb 1-1: can't connect bus-powered hub to this port hub 1-0:1.0: state 5 ports 1 chg 0000 evt 0002 """ Here is the device description: T: Bus=01 Lev=02 Prnt=06 Port=01 Cnt=01 Dev#= 7 Spd=12 MxCh= 1 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=067b ProdID=2515 Rev= 1.00 S: Manufacturer=Prolific Technology Inc. S: Product=USB Embedded Hub C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=12ms T: Bus=01 Lev=03 Prnt=07 Port=00 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=067b ProdID=2517 Rev= 1.00 S: Manufacturer=Prolific Technology Inc. S: Product=USB Mass Storage Device C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Thanks -- Franck ------------------------------------------------------- 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://ads.osdn.com/?ad_idv37&alloc_id865&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel