Hi, in disconnect you set the interface's private data to NULL. In your IO methods you unconditionally follow the pointer into never never land.
Regards Oliver Signed-off-by: Oliver Neukum <[EMAIL PROTECTED]> --- drivers/usb/misc/trancevibrator.c~ 2006-11-16 05:03:40.000000000 +0100 +++ drivers/usb/misc/trancevibrator.c 2006-11-24 12:30:29.000000000 +0100 @@ -120,8 +120,8 @@ struct trancevibrator *dev; dev = usb_get_intfdata (interface); - usb_set_intfdata(interface, NULL); device_remove_file(&interface->dev, &dev_attr_speed); + usb_set_intfdata(interface, NULL); usb_put_dev(dev->udev); kfree(dev); } ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel