Am Samstag, 12. Februar 2005 09:53 schrieb Martin Devera:
> 
> >Oliver may be on to something.  Try using this patch instead of your
> >changes:
> >
> >--- a/drivers/usb/class/cdc-acm.c    Fri Feb 11 22:17:32 2005
> >+++ b/drivers/usb/class/cdc-acm.c    Fri Feb 11 22:16:41 2005
> >@@ -767,8 +767,15 @@
> > 
> > static void acm_disconnect(struct usb_interface *intf)
> > {
> >-    struct acm *acm = usb_get_intfdata (intf);
> >-    struct usb_device *usb_dev = interface_to_usbdev(intf);
> >+    struct acm *acm;
> >+    struct usb_device *usb_dev;
> >+
> >+    dbg("%s 1: intf = %p\n", __FUNCTION__, intf);
> >+    acm = usb_get_intfdata (intf);
> >+    dbg(" 2: acm = %p\n", acm);
> >+    dbg(" 3: acm->dev = %p\n", acm->dev);
> >+    usb_dev = interface_to_usbdev(intf);
> >+    dbg(" 4: usb_dev = %p\n", usb_dev);
> > 
> >     if (!acm || !acm->dev) {
> >             dbg("disconnect on nonexisting interface");
> >
> >Alan Stern
> >
> >
> >  
> >
> Eh ! Forgive me my stupidity ;-) I should look at oops before blindly adding
> dbg()s. Well, yes it is called twice with the same acm ... See usboops.6
> devik

OK, with the same acm, but different devices. Disconnecting the second
interfaces is killing the driver. I'll make a patch.

        Regards
                Oliver

PS: Alan, your debug patches are so much more elegant than mine.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to