err_out_kfree2: kfree(pp); 
static int adma_port_start(struct ata_port *ap){	struct device *dev = ap->host_set->dev;	struct adma_port_priv *pp;	int rc;	rc = ata_port_start(ap);	if (rc)		return rc;	adma_enter_reg_mode(ap);	rc = -ENOMEM;	pp = kcalloc(1, sizeof(*pp), GFP_KERNEL);	if (!pp)		goto err_out;	pp->pkt = dma_alloc_coherent(dev, ADMA_PKT_BYTES, &pp->pkt_dma,								GFP_KERNEL);	if (!pp->pkt)		goto err_out_kfree;	/* paranoia? */	if ((pp->pkt_dma & 7) != 0) {		printk("bad alignment for pp->pkt_dma: %08x\n",						(u32)pp->pkt_dma);		goto err_out_kfree2;	}	memset(pp->pkt, 0, ADMA_PKT_BYTES);	ap->private_data = pp;	adma_reinit_engine(ap);	return 0;err_out_kfree2:	kfree(pp);err_out_kfree:	kfree(pp);err_out:	ata_port_stop(ap);	return rc;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a21a84a375ea3783cf9a53730d643c4db24371bc/pdc_adma.c/clean/drivers/scsi/pdc_adma.c