if (ap && !(ap->flags & ATA_FLAG_PORT_DISABLED)) 
if (ap && !(ap->flags & ATA_FLAG_PORT_DISABLED)) { 
static irqreturn_t sil24_interrupt(int irq, void *dev_instance, struct pt_regs *regs){	struct ata_host_set *host_set = dev_instance;	struct sil24_host_priv *hpriv = host_set->private_data;	unsigned handled = 0;	u32 status;	int i;	status = readl(hpriv->host_base + HOST_IRQ_STAT);	if (!(status & IRQ_STAT_4PORTS))		goto out;	spin_lock(&host_set->lock);	for (i = 0; i < host_set->n_ports; i++)		if (status & (1 << i)) {			struct ata_port *ap = host_set->ports[i];			if (ap && !(ap->flags & ATA_FLAG_PORT_DISABLED))				sil24_host_intr(host_set->ports[i]);			else {				u32 tmp;				printk(KERN_WARNING DRV_NAME				       ": spurious interrupt from port %d\n", i);				tmp = readl(hpriv->host_base + HOST_CTRL);				tmp &= ~(1 << i);				writel(tmp, hpriv->host_base + HOST_CTRL);			}			handled++;		}	spin_unlock(&host_set->lock); out:	return IRQ_RETVAL(handled);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/3cc4571c4106735665e048850ff6656de9558d60/sata_sil24.c/clean/drivers/scsi/sata_sil24.c