Greg and everyone else:

Right now the routines in config.c bail out when they encounter almost any
kind of error in a device's configuration descriptors.  That helps make
the system more reliable but also makes it difficult to track down
problems!  It's embarrassing to tell a user that they have to boot 2.4
just to see what /proc/bus/usb/devices or lsusb says about a buggy device.

Do you think it would be better to have config.c accept many
irregularities (while issuing warning messages in the system log, of
course)?  It could build structures for all the configs, interfaces, and
endpoints that it's able to recognize, but maybe mark somehow the
configurations that flout the rules.  Maybe the core would want to avoid
activating those configs, maybe not, but at least we'd be able to get some
diagnostics.

One thing that would be good, whether this change gets made or not, is to
remove all assumptions from drivers about the order in which interfaces
are stored (use usb_ifnum_to_if()) and the order in which altsettings are
stored (replace intf.act_altsetting with a pointer and create
usb_altnum_to_alt() analogous to usb_ifnum_to_if()).  There are plenty of
drivers that will need to be fixed up.

Put these two together and we'd be able to support a bunch of oddball
devices we can't handle now.

Alan Stern



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to