usb_get_dev(dev); 
static int usbdev_open(struct inode *inode, struct file *file){	struct usb_device *dev;	struct dev_state *ps;	int ret;	/* 	 * no locking necessary here, as chrdev_open has the kernel lock	 * (still acquire the kernel lock for safety)	 */	ret = -ENOMEM;	if (!(ps = kmalloc(sizeof(struct dev_state), GFP_KERNEL)))		goto out_nolock;	lock_kernel();	ret = -ENOENT;	dev = usb_get_dev(inode->u.generic_ip);	if (!dev) {		kfree(ps);		goto out;	}	ret = 0;	ps->dev = dev;	ps->file = file;	spin_lock_init(&ps->lock);	INIT_LIST_HEAD(&ps->async_pending);	INIT_LIST_HEAD(&ps->async_completed);	init_waitqueue_head(&ps->wait);	ps->discsignr = 0;	ps->disctask = current;	ps->disccontext = NULL;	ps->ifclaimed = 0;	wmb();	list_add_tail(&ps->list, &dev->filelist);	file->private_data = ps; out:	unlock_kernel(); out_nolock:        return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/fbf82fd2e1f4e679c60516d772d1862c941ca845/devio.c/buggy/drivers/usb/core/devio.c