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

Reply via email to