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

Reply via email to