if (!file) 
if (!file) { kref_put(&port->umad_dev->ref, ib_umad_release_dev); 
static int ib_umad_open(struct inode *inode, struct file *filp){	struct ib_umad_port *port =		container_of(inode->i_cdev, struct ib_umad_port, dev);	struct ib_umad_file *file;	file = kzalloc(sizeof *file, GFP_KERNEL);	if (!file)		return -ENOMEM;	spin_lock_init(&file->recv_lock);	init_rwsem(&file->agent_mutex);	INIT_LIST_HEAD(&file->recv_list);	init_waitqueue_head(&file->recv_wait);	file->port = port;	filp->private_data = file;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a74968f8c3b1166cfe0942901b56165f06ab6f60/user_mad.c/clean/drivers/infiniband/core/user_mad.c