I've seen a couple of different problems coming up with this bluetooth 
stuff.  One of them may be fixed by a recent patch, as David Brownell 
mentioned.  Below is the relevant part excerpted from that patch; maybe it 
will help some of you.

Alan Stern



--- 1.47/drivers/usb/core/message.c     Tue Mar 30 01:04:29 2004
+++ edited/drivers/usb/core/message.c   Tue Mar 30 17:34:54 2004
@@ -1176,15 +1176,34 @@
                        intf->dev.bus = &usb_bus_type;
                        intf->dev.dma_mask = dev->dev.dma_mask;
                        intf->dev.release = release_interface;
+                       device_initialize (&intf->dev);
                        sprintf (&intf->dev.bus_id[0], "%d-%s:%d.%d",
                                 dev->bus->busnum, dev->devpath,
                                 configuration,
                                 alt->desc.bInterfaceNumber);
+               }
+
+               /* Now that all interfaces are setup, probe() calls
+                * may claim() any interface that's not yet bound.
+                * Many class drivers need that: CDC, audio, video, etc.
+                */
+               for (i = 0; i < cp->desc.bNumInterfaces; ++i) {
+                       struct usb_interface *intf = cp->interface[i];
+                       struct usb_interface_descriptor *desc;
+
+                       desc = &intf->altsetting [0].desc;
                        dev_dbg (&dev->dev,
-                               "registering %s (config #%d, interface %d)\n",
+                               "adding %s (config #%d, interface %d)\n",
                                intf->dev.bus_id, configuration,
-                               alt->desc.bInterfaceNumber);
-                       device_register (&intf->dev);
+                               desc->bInterfaceNumber);
+                       ret = device_add (&intf->dev);
+                       if (ret != 0) {
+                               dev_err(&dev->dev,
+                                       "device_add(%s) --> %d\n",
+                                       intf->dev.bus_id,
+                                       ret);
+                               continue;
+                       }
                        usb_create_driverfs_intf_files (intf);
                }
        }



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&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