if (!p) return NULL; 
if (!p) return NULL; 
struct hpsb_packet *hpsb_make_lock64packet(struct hpsb_host *host, nodeid_t node,                                           u64 addr, int extcode, octlet_t *data,					   octlet_t arg){	struct hpsb_packet *p;	u32 length;	p = hpsb_alloc_packet(16);	if (!p) return NULL;	p->host = host;	p->node_id = node;	if (hpsb_get_tlabel(p)) {		hpsb_free_packet(p);		return NULL;	}	switch (extcode) {	case EXTCODE_FETCH_ADD:	case EXTCODE_LITTLE_ADD:		length = 8;		if (data) {			p->data[0] = *data >> 32;			p->data[1] = *data & 0xffffffff;		}		break;	default:		length = 16;		if (data) {			p->data[0] = arg >> 32;			p->data[1] = arg & 0xffffffff;			p->data[2] = *data >> 32;			p->data[3] = *data & 0xffffffff;		}		break;	}	fill_async_lock(p, addr, extcode, length);	return p;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/16c333a34a1a0441c54c4fe5cf6052716f95c2fa/ieee1394_transactions.c/buggy/drivers/ieee1394/ieee1394_transactions.c