kfree (l.fcmds); 
int fcp_forceoffline(fc_channel *fcchain, int count){	fc_channel *fc;	fcp_cmnd *fcmd;	int i, ret;	lso l;	memset (&l, 0, sizeof(lso));	l.count = count;	l.magic = LSOMAGIC;	FCND(("FCP Force Offline for %d channels\n", count))	init_MUTEX_LOCKED(&l.sem);	init_timer(&l.timer);	l.timer.function = fcp_login_timeout;	l.timer.data = (unsigned long)&l;	atomic_set (&l.todo, count);	l.fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL);	if (!l.fcmds) {		kfree (l.fcmds);		printk ("FC: Cannot allocate memory for forcing offline\n");		return -ENOMEM;	}	FCND(("Initializing OFFLINE packets\n"))	for (fc = fcchain, i = 0; fc && i < count; fc = fc->next, i++) {		fc->state = FC_STATE_UNINITED;		fcmd = l.fcmds + i;		fc->login = fcmd;		fc->ls = (void *)&l;		fcmd->did = fc->did;		fcmd->class = FC_CLASS_OFFLINE;		fcmd->proto = PROTO_OFFLINE;		fcmd->token = i;		fcmd->fc = fc;		disable_irq(fc->irq);		ret = fc->hw_enque (fc, fc->login);		enable_irq(fc->irq);		if (ret) printk ("FC: Cannot enque OFFLINE packet on %s\n", fc->name);	}			l.timer.expires = jiffies + 5 * HZ;	add_timer(&l.timer);	down(&l.sem);	del_timer(&l.timer);		for (fc = fcchain, i = 0; fc && i < count; fc = fc->next, i++)		fc->ls = NULL;	kfree (l.fcmds);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6044ec8882c726e325017bd948aa0cd94ad33abc/fc.c/clean/drivers/fc4/fc.c