veth_error("Received incompatible capabilities from lpar %d\n", cnx->remote_lp); 
veth_error("Received incompatible capabilities from LPAR %d.\n", cnx->remote_lp); 
static int veth_process_caps(struct veth_lpar_connection *cnx){	struct VethCapData *remote_caps = &cnx->remote_caps;	int num_acks_needed;	/* Convert timer to jiffies */	cnx->ack_timeout = remote_caps->ack_timeout * HZ / 1000000;	if ( (remote_caps->num_buffers == 0)	     || (remote_caps->ack_threshold > VETH_MAX_ACKS_PER_MSG)	     || (remote_caps->ack_threshold == 0)	     || (cnx->ack_timeout == 0) ) {		veth_error("Received incompatible capabilities from lpar %d\n",			   cnx->remote_lp);		return HvLpEvent_Rc_InvalidSubtypeData;	}	num_acks_needed = (remote_caps->num_buffers			   / remote_caps->ack_threshold) + 1;	/* FIXME: locking on num_ack_events? */	if (cnx->num_ack_events < num_acks_needed) {		int num;		num = veth_allocate_events(cnx->remote_lp,					   num_acks_needed-cnx->num_ack_events);		if (num > 0)			cnx->num_ack_events += num;		if (cnx->num_ack_events < num_acks_needed) {			veth_error("Couldn't allocate enough ack events for lpar %d\n",				   cnx->remote_lp);			return HvLpEvent_Rc_BufferNotAvailable;		}	}	return HvLpEvent_Rc_Good;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/61a3c6966158dfd9b1279c10ea8eeb3bc7acdef4/iseries_veth.c/buggy/drivers/net/iseries_veth.c