veth_error("Can't allocate buffers for lpar %d\n", rlp); 
veth_error("Can't allocate buffers for LPAR %d.\n", rlp); 
static int veth_init_connection(u8 rlp){	struct veth_lpar_connection *cnx;	struct veth_msg *msgs;	int i;	if ( (rlp == this_lp)	     || ! HvLpConfig_doLpsCommunicateOnVirtualLan(this_lp, rlp) )		return 0;	cnx = kmalloc(sizeof(*cnx), GFP_KERNEL);	if (! cnx)		return -ENOMEM;	memset(cnx, 0, sizeof(*cnx));	cnx->remote_lp = rlp;	spin_lock_init(&cnx->lock);	INIT_WORK(&cnx->statemachine_wq, veth_statemachine, cnx);	init_timer(&cnx->ack_timer);	cnx->ack_timer.function = veth_timed_ack;	cnx->ack_timer.data = (unsigned long) cnx;	memset(&cnx->pending_acks, 0xff, sizeof (cnx->pending_acks));	veth_cnx[rlp] = cnx;	msgs = kmalloc(VETH_NUMBUFFERS * sizeof(struct veth_msg), GFP_KERNEL);	if (! msgs) {		veth_error("Can't allocate buffers for lpar %d\n", rlp);		return -ENOMEM;	}	cnx->msgs = msgs;	memset(msgs, 0, VETH_NUMBUFFERS * sizeof(struct veth_msg));	spin_lock_init(&cnx->msg_stack_lock);	for (i = 0; i < VETH_NUMBUFFERS; i++) {		msgs[i].token = i;		veth_stack_push(cnx, msgs + i);	}	cnx->num_events = veth_allocate_events(rlp, 2 + VETH_NUMBUFFERS);	if (cnx->num_events < (2 + VETH_NUMBUFFERS)) {		veth_error("Can't allocate events for lpar %d, only got %d\n",			   rlp, cnx->num_events);		return -ENOMEM;	}	cnx->local_caps.num_buffers = VETH_NUMBUFFERS;	cnx->local_caps.ack_threshold = ACK_THRESHOLD;	cnx->local_caps.ack_timeout = VETH_ACKTIMEOUT;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/61a3c6966158dfd9b1279c10ea8eeb3bc7acdef4/iseries_veth.c/buggy/drivers/net/iseries_veth.c