On Sat, 12 Feb 2005, Martin Devera wrote:

> Oliver Neukum wrote:

> >Please add a printk for the value of "acm" which is freed in acm_disconnect.
> >
> >  
> >
> I did:

> and the result is in usboops.5. It was freed only once ...

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



-------------------------------------------------------
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