memset(pkt, 0, sizeof(struct packet_data)); 
static struct packet_data *pkt_alloc_packet_data(void){	int i;	struct packet_data *pkt;	pkt = kmalloc(sizeof(struct packet_data), GFP_KERNEL);	if (!pkt)		goto no_pkt;	memset(pkt, 0, sizeof(struct packet_data));	pkt->w_bio = pkt_bio_alloc(PACKET_MAX_SIZE);	if (!pkt->w_bio)		goto no_bio;	for (i = 0; i < PAGES_PER_PACKET; i++) {		pkt->pages[i] = alloc_page(GFP_KERNEL|__GFP_ZERO);		if (!pkt->pages[i])			goto no_page;	}	spin_lock_init(&pkt->lock);	for (i = 0; i < PACKET_MAX_SIZE; i++) {		struct bio *bio = pkt_bio_alloc(1);		if (!bio)			goto no_rd_bio;		pkt->r_bios[i] = bio;	}	return pkt;no_rd_bio:	for (i = 0; i < PACKET_MAX_SIZE; i++) {		struct bio *bio = pkt->r_bios[i];		if (bio)			bio_put(bio);	}no_page:	for (i = 0; i < PAGES_PER_PACKET; i++)		if (pkt->pages[i])			__free_page(pkt->pages[i]);	bio_put(pkt->w_bio);no_bio:	kfree(pkt);no_pkt:	return NULL;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1107d2e0352769b9bde6a4877c295b9309cdb877/pktcdvd.c/clean/drivers/block/pktcdvd.c