This one fell through the cracks according to bk usb-2.5 -- this
prevents a bogus array access when the active configuration contains
no interfaces.  It isn't clear why this happens to me on ocassion, but
when it does the kernel oopses.

Cheers,
-ch

-- 

mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]

PATCH FOLLOWS
diff -Nru a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
--- a/drivers/usb/core/usb.c    Sat Jun  8 19:07:24 2002
+++ b/drivers/usb/core/usb.c    Sat Jun  8 19:07:24 2002
@@ -849,7 +849,8 @@
                            dev->descriptor.bDeviceClass,
                            dev->descriptor.bDeviceSubClass,
                            dev->descriptor.bDeviceProtocol) + 1;
-       if (dev->descriptor.bDeviceClass == 0) {
+       if (dev->descriptor.bDeviceClass == 0 &&
+           dev->actconfig->bNumInterfaces > 0) {
                int alt = dev->actconfig->interface [0].act_altsetting;
 
                /* a simple/common case: one config, one interface, one driver

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas - 
http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to