int nr_events, const fsm_node *tmpl, int tmpl_len, int order) 
int nr_events, const fsm_node *tmpl, int tmpl_len, gfp_t order) 
init_fsm(char *name, const char **state_names, const char **event_names, int nr_states,		int nr_events, const fsm_node *tmpl, int tmpl_len, int order){	int i;	fsm_instance *this;	fsm_function_t *m;	fsm *f;	this = (fsm_instance *)kmalloc(sizeof(fsm_instance), order);	if (this == NULL) {		printk(KERN_WARNING			"fsm(%s): init_fsm: Couldn't alloc instance\n", name);		return NULL;	}	memset(this, 0, sizeof(fsm_instance));	strlcpy(this->name, name, sizeof(this->name));	f = (fsm *)kmalloc(sizeof(fsm), order);	if (f == NULL) {		printk(KERN_WARNING			"fsm(%s): init_fsm: Couldn't alloc fsm\n", name);		kfree_fsm(this);		return NULL;	}	memset(f, 0, sizeof(fsm));	f->nr_events = nr_events;	f->nr_states = nr_states;	f->event_names = event_names;	f->state_names = state_names;	this->f = f;	m = (fsm_function_t *)kmalloc(			sizeof(fsm_function_t) * nr_states * nr_events, order);	if (m == NULL) {		printk(KERN_WARNING			"fsm(%s): init_fsm: Couldn't alloc jumptable\n", name);		kfree_fsm(this);		return NULL;	}	memset(m, 0, sizeof(fsm_function_t) * f->nr_states * f->nr_events);	f->jumpmatrix = m;	for (i = 0; i < tmpl_len; i++) {		if ((tmpl[i].cond_state >= nr_states) ||		    (tmpl[i].cond_event >= nr_events)   ) {			printk(KERN_ERR				"fsm(%s): init_fsm: Bad template l=%d st(%ld/%ld) ev(%ld/%ld)\n",				name, i, (long)tmpl[i].cond_state, (long)f->nr_states,				(long)tmpl[i].cond_event, (long)f->nr_events);			kfree_fsm(this);			return NULL;		} else			m[nr_states * tmpl[i].cond_event + tmpl[i].cond_state] =				tmpl[i].function;	}	return this;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b4e3ca1ab1ae9ae86134126dcdc88da1caaa32ca/fsm.c/buggy/drivers/s390/net/fsm.c