void ds_disconnect(struct usb_interface *intf)
static void ds_disconnect(struct usb_interface *intf)
void ds_disconnect(struct usb_interface *intf){	struct ds_device *dev;		dev = usb_get_intfdata(intf);	usb_set_intfdata(intf, NULL);	while (atomic_read(&dev->refcnt)) {		printk(KERN_INFO "Waiting for DS to become free: refcnt=%d.\n",				atomic_read(&dev->refcnt));		if (msleep_interruptible(1000))			flush_signals(current);	}	usb_put_dev(dev->udev);	kfree(dev);	ds_dev = NULL;}