When I updated the power budgeting code in usbcore, I also modified the choose_configuration() routine in hub.c to make it take power constraints into account (i.e., don't choose a configuration that requires more power than is available). At the same time, I added a test to avoid choosing configurations that need a local power source if the device is not self-powered. The idea, obviously, is not to use local power when it isn't available.
However I commented out that test. One of my bus-powered devices has an error in its config descriptor; it says that the configuration is self-powered when in fact it isn't. This error would lead to the system not choosing any configuration at all if the test were applied. On the assumption that other devices might have similar descriptor errors, I decided the test shouldn't be carried out. But I didn't comment out the code that makes the Get-Device-Status request which determines whether the device is bus- or self-powered. The information isn't used for anything else in choose_configuration(), which means that currently it isn't used at all (other than appearing in a debugging message). Now there's a bugzilla report (6448) in which it turns out that an Apacer MP3 player crashes when it receives the Get-Device-Status request! Normally I would say too bad, the device isn't USB-compliant. But since that request isn't being used for anything, perhaps it should simply be removed completely. So here's the question: Is it better to remove the Get-Device-Status request, and along with it, the commented-out test for self-powered configs on a bus-powered device, or should I keep the request and reinstate the test (thereby making that MP3 player and my USB keyboard difficult or impossible to use)? Alan Stern ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
