if (!dev->users) 
if (!dev->users) { kfree(dev->alt_max_pkt_size); 
static void em28xx_usb_disconnect(struct usb_interface *interface){	struct em28xx *dev = usb_get_intfdata(interface);	usb_set_intfdata(interface, NULL);	if (!dev)		return;	down_write(&em28xx_disconnect);	down(&dev->lock);	em28xx_info("disconnecting %s\n", dev->vdev->name);	wake_up_interruptible_all(&dev->open);	if (dev->users) {		em28xx_warn		    ("device /dev/video%d is open! Deregistration and memory "		     "deallocation are deferred on close.\n", dev->vdev->minor);		dev->state |= DEV_MISCONFIGURED;		em28xx_uninit_isoc(dev);		dev->state |= DEV_DISCONNECTED;		wake_up_interruptible(&dev->wait_frame);		wake_up_interruptible(&dev->wait_stream);	} else {		dev->state |= DEV_DISCONNECTED;		em28xx_release_resources(dev);	}	up(&dev->lock);	if (!dev->users)		kfree(dev);	up_write(&em28xx_disconnect);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9d4d9c05c807ab8a49ac0024987b223bb32c022d/em28xx-video.c/clean/drivers/media/video/em28xx/em28xx-video.c