read_lock(&(user->intf->users_lock)); write_lock_irqsave(&(user->intf->cmd_rcvr_lock), flags); 
spin_lock_irq(&intf->cmd_rcvrs_lock); 
int ipmi_unregister_for_cmd(ipmi_user_t   user,			    unsigned char netfn,			    unsigned char cmd){	unsigned long    flags;	struct cmd_rcvr  *rcvr;	int              rv = -ENOENT;	read_lock(&(user->intf->users_lock));	write_lock_irqsave(&(user->intf->cmd_rcvr_lock), flags);	/* Make sure the command/netfn is not already registered. */	list_for_each_entry(rcvr, &(user->intf->cmd_rcvrs), link) {		if ((rcvr->netfn == netfn) && (rcvr->cmd == cmd)) {			rv = 0;			list_del(&rcvr->link);			kfree(rcvr);			break;		}	}	write_unlock_irqrestore(&(user->intf->cmd_rcvr_lock), flags);	read_unlock(&(user->intf->users_lock));	return rv;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/393d2cc354d150b8b4bb888a9da7db4c935e12bd/ipmi_msghandler.c/clean/drivers/char/ipmi/ipmi_msghandler.c