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
