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