u8 status, host_stat; 
u8 status, host_stat = 0; 
inline unsigned int ata_host_intr (struct ata_port *ap,				   struct ata_queued_cmd *qc){	u8 status, host_stat;	switch (qc->tf.protocol) {	case ATA_PROT_DMA:	case ATA_PROT_ATAPI_DMA:	case ATA_PROT_ATAPI:		/* check status of DMA engine */		host_stat = ap->ops->bmdma_status(ap);		VPRINTK("ata%u: host_stat 0x%X\n", ap->id, host_stat);		/* if it's not our irq... */		if (!(host_stat & ATA_DMA_INTR))			goto idle_irq;		/* before we do anything else, clear DMA-Start bit */		ap->ops->bmdma_stop(qc);		/* fall through */	case ATA_PROT_ATAPI_NODATA:	case ATA_PROT_NODATA:		/* check altstatus */		status = ata_altstatus(ap);		if (status & ATA_BUSY)			goto idle_irq;		/* check main status, clearing INTRQ */		status = ata_chk_status(ap);		if (unlikely(status & ATA_BUSY))			goto idle_irq;		DPRINTK("ata%u: protocol %d (dev_stat 0x%X)\n",			ap->id, qc->tf.protocol, status);		/* ack bmdma irq events */		ap->ops->irq_clear(ap);		/* complete taskfile transaction */		ata_qc_complete(qc, status);		break;	default:		goto idle_irq;	}	return 1;	/* irq handled */idle_irq:	ap->stats.idle_irq++;#ifdef ATA_IRQ_TRAP	if ((ap->stats.idle_irq % 1000) == 0) {		handled = 1;		ata_irq_ack(ap, 0); /* debug trap */		printk(KERN_WARNING "ata%d: irq trap\n", ap->id);	}#endif	return 0;	/* irq not handled */}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/312f7da2824c82800ee78d6190f12854456957af/libata-core.c/clean/drivers/scsi/libata-core.c